- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言实验报告
(-)
班 级
姓 名:南征
学 号信息与电子学院
实验二算术运算
一、 实验目的
熟悉利用汇编语言对多精度十六进制和十进制的编程方法,弄清带符号数及不带符 号数的运算区别,理解各状态标志位的含义,以及运算结果对各状态标志的影响,掌握 无符号数的乘除法运算并保证运算结果不溢出。
二、 实验要点
对汇编语言的算术运算要分清是有符号的运算还是无符号的运算,当对无符号数进 行加减时,要考虑进位CF,对于有符号数进行加减时,要考虑运算结果是否溢出。为 防止溢出,常将操作数利用CBW或CWD指令进行符号扩展后再进行加减运算。对于多 精度的加减运算时,对髙位字节或字的加减法要分别采用ADC和DBB:对低位字节或 字采用不带进位的加减指令ADD和SUB;在利用循环计算多字节的加减法时,可以用 CLC指令将CF初始化为0,然后在循环体内统一使用帯进位(或借位)的加减法指令。
在汇编语言进行十进制的加减运算时,首先需将操作数用BCD码示,并且要考虑 操作数是用组合的BCD码还是用一个字节表示一个十进制数。对于组合的BCD码加减 法,其结果应放在AL寄存器中,再用DAA和DAS指令进行二一一十进制调整。二对于 未组合的BCD码加减法,用AAA和AAS对结果进行二一一十进制调整。此外在进行十 进制数减法吋,要考虑用大数减小数,因为十进制数运算不能用补码表示。
对于有符号数惩罚要用IMUL指令,对无符号数乘法要用MUL指令。字乘时AX为 约定的一个乘数,其积在DX: AX中;字节相乘时AL为约定的一个乘数,其积在AX中。 乘法指令屮的操作数,不得为立即数,可以为通用寄存器或存储器操作数。
对于除法要用IDIV、DIV分别对有符号数和无符号数进行除法运算。字除法时被除 数约定在DX: AX中;字节相除吋,被除数约定在AX中,除法指令中的操作数可以为 通用寄存器或者存储器操作数,但不得是立即数。在进行除法运算时要考虑除数是否为 零,以及其商是否溢出,在出现除零溢出时,将产生类型号为0的内部中断。
三、实验任务及步骤
1?在数据段中一缓冲区内存放有无符号数0ABH和78H, 64H和54H;试编
程求这两组数的和、差,并将结果填入表格
代码如下:
DATA
SEGMENT
DATA1
DB OABH, 64H
DATA2
DB 78H, 5AH
COUNT
EQU $-DATA2
DATA3
DW 6 DUP(O)
DATA
ENDS
CODE
SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
MAIN PROC FAR
START:
MOV
AX, DATA
MOV
DS, AX
MOV
ES, AX
LEA SI,
DATA1
LEA DI,
DATA2
LEA BX,
DATA3
MOV
CX, COUNT
AGAIN1:
XOR AH,
AH
MOV
AL, [SI]
ADC AL,
[DI]
ADC AH,
0
MOV
[BX],AX
INC SI
INC DI
INC BX
INC BX
DEC CX
JNZ AGAIN1
LEA SI,
datal
LEA DI,
data2
MOV
CX, COUNT
CLC
AGAIN2:
MOV
AL, [SI]
SBB AL,
[DI]
MOV
[BXLAL
INC SI
INC DI
INC BX
DEC CX
JNZ AGAIN2
MOV AH,
4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
运行结果如下:
OB3E:OOOO AB 64 78 5A 23 01 BE 00-33 0A 00 00 00 00 00 00
0B3E:0010 B8 3E OB 8E D8 8E CO 8D-36 00 00 8D 3E 02 00 8D
0B3E:0020
IE 04 00 B9 02 00 32 E4-8A 04 12 05 80 D4 00 89
0B3E:0030
07 46 47 43 43 49 75 EE-8D 36 00 00 8D 3E 02 00
0B3E:0040
B9 02 00 F8 8A 04 1A 05-88 07 46 47 43 49 75 F3
0B3E:0050
B4 4C CD 21 06 4E 91 00-00 2E C7 06 1A 92 5B 5D
0B3E:0060
2E C7 06 1C 92 7C 3C 2E-C7 06 IE 92 3E 2B 2E C7
0B3E:0070
06 20 92 3D 3B E8 83 09-73 13 B8 FF FF 53 26 8B
计算
状态标志
算式
结果
AF
CF
OF
PF
您可能关注的文档
最近下载
- 重症护理夜班值班课件.pptx VIP
- 医用空压机基础知识培训课件.pptx VIP
- 2026版高考物理专题提升练习-动量守恒在子弹打木块模型和滑块.docx VIP
- SICK西克KTS&KTX Prime色标传感器操作手册.pdf VIP
- 10.1《 劝学》课件(共36张PPT) 2024-2025学年统编版高中语文必修上册.pptx VIP
- 梅州围龙屋一种富有特色的典型客家围村建筑.pptx VIP
- SICK西克KTS&KTX Prime操作手册.pdf VIP
- [2025秋期版]国开电大专科《人力资源管理》一平台形考任务一至四在线形考试题及答案 (2).pdf
- 模型1弹簧模型-动量守恒的九种模型解读.docx VIP
- 二年级数学上册北师版25秋《小学学霸A卷》.pdf VIP
文档评论(0)