汇编语言第四章总结

Posted msag

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言第四章总结相关的知识,希望对你有一定的参考价值。

终于到了自己编写一个完整的汇编语言源程序的时刻,生成可执行文件,但这要经历一个漫长的过程

下面将知识点总结如下:

一、汇编语言源程序中包含两种指令,一种是汇编指令(有对应的机器码,可被编译为机器指令,最终被CPU执行),一种是伪指令(无对应机器码,不能被CPU执行)

二、汇编源程序举例:

assume cs:codesg
codesg segment
  mov ax,2000h
  mov ss,ax
  mov sp,0
  add sp,10
  pop ax
  pop bx
  push ax
  push bx
  pop ax
  pop bx
  mov ax,4c00h
  int 21h
codesg ends
end

其中伪指令segment和ends成对使用,定义一个段,分别说明开始和结束,codesg是段标识,可自定义,最后将被编译masm、连接link为段地址

end为汇编程序结束标记

assume为假设某一寄存器和程序中某一个被定义的段相关联

mov ax,4c00h
  int 21h

这两条指令实现程序返回(程序结束后,将CPU控制权交还给使它得以运行的程序)

三、编辑源程序时:1.用edit写好汇编程序 2.用masm编译得到目标文件 3.用link连接目标文件得到可执行文件(其中地址不想为默认可直接设置) 4.运行程序

在连接和运行程序之间还有一个加载过程,其具体是DOS种的command.com程序找到文件名,设置CS:IP入口,command停止,CPU运行程序,程序结束后逆向退回

四、程序跟踪时可以用debug 文件名.exe

debug可以将程序加载入内存,设置CS:IP入口,但不放弃对CPU控制

cx寄存器为程序的长度

五、加载时,ds先找内存,再在内存前256个字节中创建前缀PSP数据区域进行程序通讯,所以设置的CS:IP的段地址CS=DS+10H

加载顺序:command加载debug,debug加载文件.exe,程序结束逆向返回

六、对

  int 21h

汇编程序执行时用p命令统一完成(t命令会将其分条完成,但是过程复杂)

















以上是关于汇编语言第四章总结的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言——第四章课后总结

第四章 知识总结

十五周导论课后总结

20165234 第三周学习总结

机器级表示总结一,移位运算,控制指令

20165210 Java第三周学习总结