版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、33 设DS=1000H,ES=2000H,SS=3500,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为VAL的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什么?物理地址值是什么?,36 指出下列指令中那些是错误的,错在什么地方。,36 指出下列指令中那些是错误的,错在什么地方。,MOV DX,OFFEH OUT DX,AL,39 下列指令完成什么功能?,1 ADD AL,DH 2 ADC BX,CX 3 SUB AX,2710H 4 DEC BX 5 NEG CX 6 INC BL 7 MUL BX 8 DIV CL,AL AL +
2、DH BX BX + CX + CF AX AX - 2710H BX BX - 1 CX 0 CX BL BL + 1 DX,AX AX*BX AL AX/CL的商, AH AX/CL的余数,30 已知变量X1和X2的定义如下 X1 DW 1024H DW 2476H X2 DW 3280H DW 9351H 请按下列要求进行运算或操作后,将运算结果存到RESULT单元中,低位在前,高位在后。试分别写出指令序列。 1 .将X1和X2两个字数据相加; 2. 将X1和X2两个双字数据相加 3. 将X1和X2两个字数据相减; 4 .将X1和X2两个字数据交换位置,30 X1 DW 1024H DW
3、 2476H X2 DW 3280H DW 9351H 1. 将X1和X2两个字数据相加,RESULT DW 2 DUP(0) MOV SI, OFFSET X1 MOV BX,OFFSET X2 MOV DI,OFFSET RESULT MOV CX, 2 CLC ; 清进位标志,AGAIN: MOV AX, SI ADD AX, BX MOV DI, AX INC SI INC SI INC BX INC BX INC DI INC DI DEC CX JNZ AGAIN HLT,30 X1 DW 1024H DW 2476H X2 DW 3280H DW 9351H 2. 将X1和X2两
4、个双字数据相加,RESULT DW 2 DUP(0) MOV SI, OFFSET X1 MOV BX,OFFSET X2 MOV DI,OFFSET RESULT MOV CX, 2 CLC ; 清进位标志,AGAIN: MOV AX, SI ADC AX, BX MOV DI, AX INC SI INC SI INC BX INC BX INC DI INC DI DEC CX JNZ AGAIN HLT,30 X1 DW 1024H DW 2476H X2 DW 3280H DW 9351H 3. 将X1和X2两个字数据相减,RESULT DW 2 DUP(0) MOV SI, OFF
5、SET X1 MOV BX,OFFSET X2 MOV DI,OFFSET RESULT MOV CX, 2 CLC ; 清进位标志,AGAIN: MOV AX, SI SUB AX, BX MOV DI, AX INC SI INC SI INC BX INC BX INC DI INC DI DEC CX JNZ AGAIN HLT,30 X1 DW 1024H DW 2476H X2 DW 3280H DW 9351H 4将X1和X2两个字数据交换位置,RESULT DW 2 DUP(0) MOV SI, OFFSET X1 MOV BX,OFFSET X2 MOV DI,OFFSET
6、RESULT MOV CX, 2 CLC ; 清进位标志,AGAIN: MOV AX, SI XCHG AX, BX INC SI INC SI INC BX INC BX DEC CX JNZ AGAIN HLT,310 某班有7个同学的英语成绩低于80分,分数存在ARRAY数组中,试编程完成以下工作: 1 给每人加5分,结果存到NEW数组中 2 把总分存到SUM单元中 3 把平均分存到AVERAGE单元中。,ARRAY DB 7 DUP(?) NEW DB 7 DUP(?) SUM DW 0 AVG DB 0 MOV CX, 7 MOV SI, 0 MOV SUM, 0,LP: MOV A
7、L, ARRAYSI ADD AL, 05H MOV NEWSI, AL MOV AH, 0 ADD SUM, AX INC SI DEC CX JNZ LP MOV AX, SUM MOV BL,07H DIV BL MOV AVG, AL HLT,312 假设数据段定义如下: DATA SEGMENT STRING DB The Personal Computer 5F端口的内容送AL ;逻辑与操作,1000 0000 5F端口的内容第8位为0则AH=FFH 5F端口的内容第8位为1则AH=0,16位二进制数AX 到 BCD码 AX B2TOBCD PROC FAR CMP AX,999
8、JBE TRAN STC JMP EXIT TRAN: PUSH CX PUSH DX SUB DX, DX MOV CX, 1000 DIV CX XCHG AX, DX MOV CL, 4 SHL DX, CL MOV CL, 100 DIV CL ADD DL, AL MOV CL, 4,SHL DX,CL XCHG AL,AH SUB AH,AH MOV CL,10 DIV CL ADD DL,AL MOV CL,4 SHL DX,CL ADD DL,AH MOV AX,DX POP DX POP CX EXIT:RET B2TOBCD ENDP,48 编两个通用过程完成将AX中存放的
9、二进制数转换成压缩型BCD码以及将BCD码转换成二进制数。,4位BCD AX 到16二进制数AX BCD2BIN PROC NEAR(或FAR) MOV BX, 0H ;结果为0 MOV SI, 0AH ; 乘数为10 MOV CH, 4 ; 位数CH MOV CL, 4 ;循环移位计数4 NDIGIT: ROL AX, CL ; 循环左移4位 ;MOV DI, AX ; 保存左移结果到DI中 AND AX, 0FH ;取左移过的最高位到AX ADD AX, BX; 加到最后结果中 DEC CH JZ DONE MUL SI ;AX*SI积送(DX,AX) MOV BX, AX ;保存中间结果
10、到BX中 JMP NDIGIT DONE: RET BCD2BIN ENDP,411 某程序可从键盘接收命令(05),分别转向6个子程序,子程序入口地址分别为P0 P5,编制程序,用跳转表实现分支结构。,BASE DW P0,P1,P2,P3,P4,P5 KEY DB ? MOV AH, 1 INT 21H AND AL, 0FH ; 清高四位 MOV BX, OFFSET BASE MOV AH, 0 ADD AL, AL ; 求偏移量AL ADD BX, AX ;求表地址 JMP WORD PTRBX ;转到相应入口地址 ,413 将键盘上输入的十六进制数转换成十进制数,在屏幕上显示。,s
11、tack segment para stack stack db 100 dup(0) stack ends DA_SEG SEGMENT hexCHAR DB 4 DUP(0);4位16进制数输入 decCHAR DB 5 dup(0);5位10进制数输出 inpChar DB Input 4 Digit HexChar, Pls:$ oupHex DB 0DH,0AH, HexChar:$ oupDec DB 0DH,0AH, DecChar:$ DA_SEG ENDS CODE_SEG SEGMENT ASSUME CS:CODE_SEG,DS:DA_SEG,ES:DA_SEG,ss:s
12、tack ;从键盘输入4位16进制数 LL1:MOV AX,DA_SEG MOV DS,AX MOV ES,AX MOV CX,4 MOV SI,OFFSET hexCHAR ;提示输入 MOV DX, OFFSET inpCHAR MOV AH, 9 INT 21H,LL2: MOV AH,1;输入一个字符,在AL中 INT 21H ;检查是否在范围内:09,AF cmp al,0;0 jb LL2 cmp al,9+1;9 jb save cmp al,A;A jb LL2 cmp al,F+1;F jnb LL2 sub al,11h add al,10 save:sub al,30h
13、MOV SI,AL;保存 INC SI DEC CX JNZ LL2;不够4个循环,;输出十六进制数 MOV DX, OFFSET oupHex MOV AH, 9 INT 21H MOV CX,4 MOV SI,OFFSET hexCHAR MOV AH,2 LL3: MOV DL,SI;取字符 cmp dl,10 jb LL4 sub dl,10 add dl,11h LL4:add dl,30h INT 21H INC SI DEC CX JNZ LL3,MOV SI,OFFSET hexCHAR mov DI,OFFSET decCHAR add si,3 mov ah,0 mov a
14、l,si;最低位16进制数-ax dec si mov cl,4 mov bh,0 mov bl,si; SHL bx,cl add ax,bx dec si mov cl,8 mov bh,0 mov bl,si; SHL bx,cl add ax,bx dec si mov cl,12 mov bh,0 mov bl,si; SHL bx,cl add ax,bx;至此,4位16进制数都在ax中,;以下为4位16进制数转换为10进制数并输出 mov dx,0 mov bx,10000 div bx mov di,al inc di mov ax,dx mov dx,0 mov bx,100
15、0 div bx mov di,al inc di mov ax,dx mov dx,0 mov bx,100 div bx mov di,al inc di mov ax,dx mov dx,0 mov bx,10 div bx mov di,al inc di mov di,dl,;输出十进制数 MOV DX, OFFSET oupDec MOV AH, 9 INT 21H MOV CX,5 MOV SI,OFFSET decCHAR MOV AH,2 LL5: MOV DL,SI;取字符 add dl,30h INT 21H INC SI DEC CX JNZ LL5 ;程序结束,返回DOS MOV AH,4CH INT 21H CODE_SEG ENDS END LL1,416 编写多字节有符号数的加法程序。,DSEG SEGMENT DATA1 DB 85H,27H,4AH DATA2 DB 93H,87H,65H LEGH DB 3 SUM DB 0,0,0 DSEG ENDS SSEG SEGMENT PARA STACK STACK DB 50 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG, SS:SSEG START: MOV AX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8.6.2直线与平面垂直(第2课时)(教案)
- 小学心理健康第十六课 爱惜小生命教学设计及反思
- 2026年运行电工测试题及答案
- 2026年党风政风测试题及答案
- 2026年护士骨科测试题及答案
- 2026年徐州安全员测试题及答案
- 2026年智能卷尺测试题及答案
- 2026年广东深圳测试题及答案
- 小学数学北师大版二年级下册十年的变化教学设计
- 老年人大小便护理的团队协作
- 2025年轨道交通调度员(技师)职业技能鉴定考试题库(共500题)
- 2025年天津市中考生物试卷(含2025年答案及解题技巧)
- 2025年陕西省中考数学真题试卷及答案解析
- 案例学AIGC+Premiere视频编辑与特效制作(微课版) 课件全套 1-9 视频编辑与特效制作基础知识 - 第9章综合案例
- 教务岗位面试题及答案
- 地理 日本第一课时课件-2024-2025学年七年级地理下册湘教版
- 2025年甘肃陇南事业单位卫生岗招聘笔试试卷
- T/CGAS 026.2-2023瓶装液化石油气管理规范第2部分:平台建设
- 产品放行培训课件
- 2025年军队文职人员(司机岗)历年考试真题库及答案(重点300题)
- 自来水厂安全培训课件
评论
0/150
提交评论