汇编语言如何编写和运行(汇编语言源程序结构)
一,表达式 在汇编指令和伪指令中,凡是以常数、符号地址为操作数的地方,都可以换用表达式表达式包括数值表达式和地址表达式,今天小编就来聊一聊关于汇编语言如何编写和运行?接下来我们就一起去研究一下吧!
汇编语言如何编写和运行
一,表达式
在汇编指令和伪指令中,凡是以常数、符号地址为操作数的地方,都可以换用表达式。表达式包括数值表达式和地址表达式。
1)常量
1> 数值常量 1010H
2> 符号常量
伪指令: <符号名> EQU <表达式>
功能:定义所指符号常量所代表的常量的值
说明:表达式可以是常数、指令助记符、伪指令助记符、寄存器名字或其他自定义的符号
例子: VA EQU 100 ;表达式为常数
NUM EQU VA 100 ;表达式为数值表达式
OPE EQU ADD ;表达式为指令助记符
伪指令: <符号名> = <常数表达式>
功能:定义所指符号常量所代表的常量的值
说明:“=”之后只能是常数,对于字符和字符串汇编时按照整数处理
例子: VA = 100
NUM = 3*100
NUM =VA 500
2)数值表达式
1> 算术表达式
2.DEBUG应用举例
源程序已经以EX66.asm为文件名编辑存入磁盘,并进行汇编、链接通过无错误。其操作方法如下:
(1) 装入DEBUG和待调试的可执行程序
DEBUG EX66.EXE
或:DEBUG
-N EX66.EXE
-L
(2) 返汇编
-U
12B5:0000 B8B412 MOV AX,12B4
12B5:0003 8ED8 MOV DS,AX
12B5:0005 BB0100 MOV BX,0001
12B5:0008 B80000 MOV AX,0000
12B5:000B B93200 MOV CX,0032
12B5:000E 03C3 ADD AX,BX
12B5:0010 43 INC BX
12B5:0011 E2FB LOOP 000E
12B5:0013 A30000 MOV [0000],AX
12B5:0016 B44C MOV AH,4C
12B5:0018 CD21 INT 21
12B5:001A 8A4608 MOV AL,[BP 08]
12B5:001D 98 CBW
12B5:001E 50 PUSH AX
12B5:001F 8B4604 MOV AX,[BP 04]
注:上述反汇后的程序中,INT 21后的指令是内存中的随机代码指令,程序执行到MOV AH,4CH和INT 21H后并结束程序通回到DOS系统,不会继续执行后面随机代码指令;反汇编后,必须记下程序存放数据的数据段的段地址、源数据单元和结果单元的偏移量地址,如上例中,数据段段地址为12B4H,偏移量地址是0000H。
(3) 执行程序
-G
则屏幕显示:
Program terminated normally (表示程序运行正常结束)
(4)显示结果单元内容
例如,显上例72中结果单元的内容,则键入命令:
D 12B4:0000
则屏幕显示:
12B4:0000 FB 04 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
12B4:0010 B8 B4 12 8E D8 BB 01 00-B8 00 00 B9 32 00 03 C3 ............2...
12B4:0020 43 E2 FB A3 00 00 B4 4C-CD 21 8A 46 08 98 50 8B C......L.!.F..P.
12B4:0030 46 04 03 C6 50 E8 58 FF-83 C4 06 8B F8 83 FF FF F...P.X.........
12B4:0040 75 0C 8B 5E 04 8A 07 2A-E4 8B F8 2B FE 47 57 8B u..^...*... .GW.
12B4:0050 46 04 03 C6 50 8D 46 81-50 E8 66 64 83 C4 06 8B F...P.F.P.fd....
12B4:0060 C7 88 46 80 8D 45 01 03-F0 8D 46 80 50 FF 56 06 ..F..E....F.P.V.
12B4:0070 83 C4 02 8B 5E 04 8A 07-2A E4 89 86 7A FF 3B C6 ....^...*...z.;.
从显示的结果可知,SUM字单元内容为04FBH。
(5)退出DEBUG
- Q
---------------------
作者:小田
原文:https://blog.csdn.net/tianshuai1111/article/details/7883553
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com