GitHub

第四章 第一个程序 知识梳理

汇编源程序从编写到调试

编辑→(xx.asm)→汇编→(xx.obj)→连接→(xx.exe)→执行→调试


程序4.1

assume cs : codesq

codesq seqment

             mov  ax,0123H

             mov  bx,0456H

             mov  ax,bx

             mov  ax,ax

codesq ends

end


 

1.汇编指令:有对应的机器码指令,可以被编译为机器指令,最终为CPU所执行

2.伪指令:没有对应的机器指令,最终不被CPU所执行,伪指令是由编译器来执行的指令

常见的伪指令:(程序4.1出现的)

(1).

段名 segment

.....

段名 ends

功能:定义一个段,segment说明一个段的开始,ends说明一个段结束

(2).

end

功能:end是一个汇编程序结束的标记

(3).

assume

功能:assume将有特定用途的段和相关段寄存器关联起来即可

如本例,在程序的开头用assume cs:codesg将作为代码段的codesg和CPU中的段寄存器cs联系起来

3.源程序  程序

将源程序文件中所有内容称为源程序

将源程序最终由计算机执行,处理的指令和数据,称为程序

4.标号

不产生机器码,由汇编器处理 ( 比如“codesg”)

5.程序返回

mov ax,4c00H

int 21H

这两条指令的功能就是程序返回

是汇编指令,执行时,由CPU执行

目的 相关指令 指令性质 指令执行者
通知编译器一个段结束 段名ends 伪指令 编译时,由编译器执行
通知编译器程序结束 end 伪指令 编译时,由编译器执行
程序返回 mov ax,4c00h 汇编指令 执行时,由CPU执行

 

 

 

 

 

汇编程序从写出到执行的过程

编辑(edit)→(xx.asm)→汇编(masm)→(xx.obj)→连接(link)→(xx.exe)→加载(command)→内存中的程序→运行(CPU)

exe文件中程序的加载过程

 

 

posted @ 2018-11-13 21:06  繁华似锦觅安宁  阅读(208)  评论(0)    收藏  举报