版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.2 指出下列指令是否有错,并说明理由。 (1)MOV DI,SI (2)MOV CS,AX (3)MOV 1200,AX (4)MOV DS,CS (5)POP CS (6)MOV CL,AX (7)MOV 5000H,1000H 4.3 在8086中,堆栈操作是字操作还是字节操作?已知SS=1050H,SP=0006H,AX=1234H,若对AX执行压栈操作(即执行PUSH AX);试问AX的内容存放在何处?答:是字操作; AX的内容存放到10504H字单元,即: 12H(10505H);34H (10504H)4.5 编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放内存(
2、2800H)单元中。解法一: SUB AX,BX JNC OK ADD AX,BX MOV AX,BXOK:MOV 2800H,AX解法二: SUB AX,BX JNC OK NEG AXOK:MOV 2800H,AX4.6 若有两个4字节的无符号数相加,这两个数分别存放在2000H和3000H开始的存储单元,将所求的和存放在2000H开始的内存单元中,试编制程序。 解法一: MOV BX , 3000H MOV DI , 2000H MOV AX , BX MOV DX , BX+2 ADD DI , AX ADC DI+2 , DX解法二: MOV AX , 3000H MOV DX ,
3、3002H ADD 2000H , AX ADC 2002H , DX4.7 用两种方法写出从88H端口读入信息的指令,再用两种方法写出从44H端口输出数据56H的指令。 解:从88H端口读入信息(1)IN AL,88H (2) MOV DX,88H IN AL,DX解:从44H端口输出56H(1)MOV AL,56H OUT 44H,AL (2) MOV AL,56H MOV DX,44H OUT DX,AL4.19 指出以下四条指令的作用(HEX为数据段的一个变量名) MOV BX,HEX; 取变量 HEX的内容BX LEA BX,HEX ; 取变量 HEX的有效地址BX MOV BX,O
4、FFSEG HEX; 取变量 HEX的偏移量BX MOV BX,SEG HEX; 取变量 HEX的段地址BX4.20 下面是变量定义伪指令, DATA SEGMENT BUF DW 3 DUP(5,2 DUP(8) CED DB e to you,0DH,0AH,$ ADDR DW BUF COUNT EQU $-CED DATA ENDS问: 按内存单元存放的先后次序,按字节写出数据段中的数据 说明对BUF,CED,ADDR等变量施行TYPE,LENGTH,SIZE运算后,其结果分别为多少? COUNT的值为多少? 解: 按内存单元存放的先后次序,按字节写出数据段中的数据: 05H, 00H
5、, 08H, 00H, 08H, 00H, 05H, 00H, 08H, 00H, 08H, 00H, 05H, 00H, 08H, 00H, 08H, 00H,57H, 65H, 6CH, 63H, 6FH, 6DH, 65H, 20H, 74H, 6FH, 20H, 79H, 6FH, 75H, 0DH, 0AH, 24H, 00H, 00HBUFCEDADDRTYPE212LENGTH311SIZE612(2)(1)COUNT = $-CED = 19(3)4.22 编写一个将16位二进制数转换成BCD码数的程序。 DATA SEGMENT ; 解法一 HEX DB 9A48H BCD
6、DB 5 DUP(?)DATA ENDSSTACK SEGMENT DB 256 DUP (?) TOP EQU $ - STACKSTACK ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX, DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,TOP MOV BX,OFFSET BCD MOV AX,HEX MOV DX,0 MOV CX,10000 DIV CX ;DX:AXCXAX, ; 余数DX MOV BX+4,AL ;万位数, AH必为0 MOV AX,DX MOV
7、 DX,0 MOV CX,1000 DIV CX MOV BX+3,AL ; 千位数 MOV AX,DX MOV CL,100 DIV CL ;AXCLAL, ;余数AH MOV BX+2,AL ; 百位数 MOV AL,AH MOV AH,0 MOV CL,10 DIV CL MOV BX+1,AL ;十位数 MOV BX,AH ;个位数 HLTCODE ENDS END STARTDATA SEGMENT ; 解法二 HEX DB 9A48H BCD DB 5 DUP(?)DATA ENDSSTACK SEGMENT DB 256 DUP (?) TOP LABEL WORDSTACK E
8、NDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX, DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP MOV BX,OFFSET BCD MOV AX,HEX MOV SI, 10 MOV CX,5LP1:MOV DX,0 DIV SI ;DX:AXSIAX, 余数DX MOV BX,DL ;第一次保存的是个位数 INC BX LOOP LP1 HLTCODE ENDS END START 4.23 编写一个将5位BCD码数(小于65536)转换成二进制数的
9、程序。 DATA SEGMENT BCD DB 7,4,3,0,5 ;BCD=50347 HEX DW 0DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS,AX LEA BX,BCD MOV AL,BX+4 ;万位数 MOV AH,0 MOV CX,10000 MUL CX ; AX*CXDX:AX,DX 必为0 ADD HEX,AX ;HEX+AX AX,CF必为0 MOV AL,BX+3 ; 千位数 MOV AH,0 MOV CX,1000 MUL CX ADD HEX,AX MOV AL,BX+
10、2 ; 百位数 MOV CL,100 MUL CL ; AL*CLAX ADD HEX,AX MOV AL,BX+1 ; 十位数 MOV CL,10 MUL CL ADD HEX,AX MOV AL,BX ; 个位数 ADD HEX,AX HLTCODE ENDS END START 4.25 编写一个带符号数四则运算的程序,完成(Z-(X*Y+100))/1000的运算,商送V单元,余数送W单元。X,Y,Z均为带符号数,设:X=FFF0H=-16,Y=0008H=8,Z=007F=127。 DATA SEGMENT X DW 0FFF0H Y DW 8 Z DW 7FH V DW ? W D
11、W ?DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS,AX MOV AX,X IMUL Y ;AX*YDX:AX ADD AX ,100 ADC DX,0 ;DX:AX与32位字长的100相加 MOV CX,AX MOV BX,DX MOV AX,Z CWD ;将AX(即:Z)的符号位扩展到DX SUB AX ,CX SBB DX,BX MOV BX,1000 IDIV BX ;DX:AXSIAX, 余数DX MOV V,AX ;保存商 MOV W,DX ;保存余数 HLTCODE ENDS END
12、 START 4.26 从BUF单元开始有10个带符号数:-1,3,248,90,42,9042,-4539,0,-28,792。试找出它们的最大值、最小值和平均值,并分别送MAX、MIN和AVG单元。试编写完整的汇编语言程序 DATA SEGMENT BUF DW -1,3,248,90,42,9042,-4539,0,-28,792 MXA DW -32768 MIN DW 32767 AVG DW 0DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX, DATA MOV DS,AX MOV BX,OFFSET BUF MOV CX,10 MOV SI,0 MOV DI,0NEXT: MOV AX,BX ;取一个数 CMP AX,MAX ;是当前较大 JNG L1 ;的数吗? MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东外语外贸大学南国商学院《建筑工程事故分析与加固》2023-2024学年第一学期期末试卷
- 广东省外语艺术职业学院《电力系统保护与控制》2023-2024学年第一学期期末试卷
- 2024-2025学年北京延庆区八年级初二(上)期末语文试卷(含答案)
- 广东茂名健康职业学院《教师书写》2023-2024学年第一学期期末试卷
- 三年级数学计算题专项练习汇编及答案
- 小学二年级家长会教师发言稿范文五篇
- 【学练考】2021-2022学年高一人教版物理必修2练习册:模块终结测评-
- 2025年人教版八年级数学寒假复习 专题01 三角形(13个知识点回顾+9大题型归纳+过关检测)
- 【走向高考】2021高考政治二轮专题复习限时训练:专题十-哲学思想与唯物论、认识论
- 【同步参考】2020高中语文人教版必修三配套练习:第4单元-单元检测
- 劳务派遣人员考核方案
- 意志力讲解学习课件
- 生产作业员质量意识培训课件
- 危重症患者的血糖管理
- 固定资产报废管理办法
- 《路由与交换》课程标准
- 工程开工令模板
- 福建省漳州市各县区乡镇行政村村庄村名明细及行政区划代码
- 员工投诉表格样板
- 电缆采购技术要求
- 风电场防地震灾害专项应急预案
评论
0/150
提交评论