版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.1.设置C*0,则LOOP指令将执行多少次?例如: mov c*, 0 delay: loop delay A.0 B.1 C.65535 D.65536 正确答案是: D 2.REPZ CMPSB这条指令完毕的时候,如果比拟的串相等,则_。 A.SF=1 B.ZF=1 C.ZF=0 D.C*不为0 正确答案是: B 3.在取指令CMP B*, 100H的源操作数的时候使用的逻辑地址最可能的是_。 A.DS:100H B.CS:IP C.ES:100H D.SS:IP 正确答案是: B 4. 在一个字符串中查找一个字符,使用REPNZ SCASB指令,执行完后,如果_表示没有找到。
2、A.ZF=1 B.C*=0 且ZF=0 C.C*=0,且ZF=1 D.OF=1 正确答案是: B 5. 指令RET 8是FAR过程的返回语句,执行之后,SP的值会_。 A.+8 B.-8 C.+10 D.+12 正确答案是: D 6. REPZ重复前缀重复的条件是_ A.C*0 且ZF=1 B.C*=0,或ZF=0 C.C*=0,且ZF=0 D.C*0 或ZF=1 正确答案是: A 12. 下面的指令,对CF会产生影响的指令是_。 A.INC A* B.DEC A* C.NEG A* D.NOT A* 正确答案是: C 15. JMP WORD PTRSI这条指令的最大跳转*围是_。 A.-3
3、2768字节至+32767字节 B.-128字节至+127字节 C.-32768字节至+32768字节 D.-512KB至+512KB 正确答案是: A 19. 16位汇编的寻址方式中,能作为基址变址寻址方式的存放器是_。 A.SI, DI, SS, DS B.A*,B*,C*,D* C.B*, SP,SI,DI D.B*,BP,SI,DI 正确答案是: D 23. 如果AL83H,则执行CBW之后,A*的值为_。 A.0FF83H B.8883FH C.8003FH D.0083FH 正确答案是: A 25. 以下的公式中,_的结果是下一条指令的物理地址。 A.CS*16+IP B.CS*1
4、6+IP+本条指令的字节数 C.SS*16+IP D.CS*10+IP 正确答案是: A 1. 在内存中从Table开场的10个单元中连续存放0到9的平方值,任给一个0到9的数*,该数存放在内存单元*中,查表求*的平方值,并将结果存于内存YY单元中。编写程序,并在DEBUG中进展调试和验证结果。提示:考虑平方表的每一项需要什么数据类型才适宜, *LAT指令是否适宜?应该如何查表?.8086.MODEL SMALL.DATA ORG 10H TABLE BYTE 0,1,4,9,16,25,36,49,64,81 * BYTE 7 Y BYTE .CODESTART: MOV A* , DATA
5、 MOV DS , A* MOV B* , OFFSET TABLE MOV AL , * *LAT MOV Y , ALEND START2. 假设C*:B*中放了4位非压缩的BCD码表示的十进制数4386,请编写完整程序将这个数转成2进制数放到DI存放器中,并用DEBUG调试和验证之.8086.MODEL SMALL.DATA.CODESTART: MOV A* , DATA MOV DS , A*MOV C* , 0403H MOV B* , 0806H MOV DI , 0 MOV A* , 0 ADD AL , BL ADD DI , A* MOV AL , 10 MUL BH AD
6、D DI , A* MOV A* , 100 MUL CL ADD DI , A* MOV A* , 1000 *CHG CH , CL AND C* ,0FH MUL C* ADD DI , A*END START3. 利用跳转表技术实现根据用户输入的星期几的数字代号在屏幕上显示星期几的英文名称的功能。提示:1键盘输入的是数字的ASCII码,需要转换成数字。2建立一*跳转表,表中存放打印每个星期的程序段的入口地址。3考虑怎么使程序代码量最小。.8086.MODEL SMALL.DATA TABLE BYTE Monday$, Tuesday$, Wednesday$, Thursday$,
7、Friday$, Saturday$, Sunday$.CODESTART: MOV A* , DATA MOV DS , A* MOV AH , 01H INT 21H CMP AL , 30H E E*IT CMP AL , 38H JAE E*IT AND A* , 0FH SUB AL , 30H DEC AL MOV CL , 10 MUL CL LEA D* , TABLE ADD D* , A* MOV AH , 9 INT 21HE*IT: MOV AH , 4CH INT 21HEND START4. 数据段有以下定义:NUM DW 3570STRING DB 5 DUP(2
8、0H),$ ; 20H为空格的ASCII码请编写完整程序,在屏幕上以十进制的形式将NUM这个数打印出来,可以借助STRING这个字符串。NUM这个数可以定义为一个任意字型数。.8086.MODEL SMALL.DATA ORG 100H NUM WORD 3570 STRING BYTE 4 DUP(20H),$.CODE START:MOV A* , DATA MOV DS , A* LEA DI , STRING MOV A* , NUM MOV C* , 4 ;每次循环除以10,将商作为下次的被除数,余数即为对应的十进制数字 DEC DI LP:PUSH C* CWD MOV C* ,
9、10 DIV C* POP C* MOV B* , C* ADD DL , 30H ;转化为对应的ASCII码 MOV B*DI , DL LOOP LP MOV AH , 09H ;输出字符串,以$结尾 LEA D* , STRING INT 21H MOV AH , 4CH ;退出程序 INT 21HEND START5. 统计以$字符完毕的字符串string的字符个数。.8086.MODEL SMALL.DATA ORG 100H STRING BYTE HELLO,WORLD!,MY NAME IS ASM,$ LEN BYTE STR BYTE 3 DUP(20) , $.CODES
10、TART:MOV A* , DATA MOV DS , A* LEA DI , STRING MOV LEN , 0 MOV BL , $ CP:CMP BL , DI;bl中的值是否为$,假设是则调到continue,假设不是则继续比拟,相应的值加1 JZ CONTINUE INC LEN INC DI JMP CP CONTINUE: MOV AL , LEN LEA SI , STR MOV C* , 3 DEC SI LP:PUSH C* CBW MOV CL , 10 DIV CL POP C* MOV B* , C* ADD AH , 30H MOV B*SI , AH AND A
11、* , 0FFH LOOP LP MOV AH , 09H LEA D* , STR INT 21H MOV AH ,4CH INT 21H END START6.十进制到二进制数转换。从键盘取得一个十进制数,将其以二进数形式显示出来。要求定义回车换行子程序、从键盘获得十进制数0128之间,并存放在BL中的子程序,用二进制显示BL中数据的子程序。.8086.MODEL SMALL.DATA.CODE START:MOV A*,DATA MOV DS,A* MAIN PROC FAR CALL SHURU CALL CRLF CALL PRT CALL CRLF MOV AH,4CH INT 2
12、1H MAIN ENDP SHURU PROC NEAR ;出口参数BL PUSH A* ;保护现场 PUSH C* MOV BL,0 NEWCHAR:MOV AH,1 INT 21H ;将键盘输入的字符的ASCII码传给AL存放器 SUB AL,30H JL E*IT ;小于0转 CMP AL,9 JG E*IT ;大于9转 *CHG AL,BL MOV CL,10 MUL CL ;将以前的值乘以10 *CHG AL,BL ADD BL,AL ;加这一次读的值 JMP NEWCHAR E*IT:POP C* POP A* RET SHURU ENDP CRLF PROC NEAR PUSH
13、A* PUSH D* MOV DL,0DH ;回车 MOV AH,2 INT 21H MOV DL,0AH ;换行 MOV AH,2 INT 21H POP D* POP A* RET CRLF ENDP PRT PROC NEAR ;入口参数BL PUSH A* PUSH C* PUSH D* MOV C*,8 LP:ROL BL,1 ;循环左移,将二进制最高位挪到末尾 MOV BH,BL AND BL,01H ;只保存最后一位,即二进制的第一位 ADD BL,30H ;转化为0或1的ASCII码 MOV DL,BL ;调用DOS的输出字符功能 MOV AH,02H INT 21H MOV
14、BL,BH LOOP LP POP D* POP C* POP SI RET PRT ENDP END START7.利用递归程序,计算N!。具体要求:用键盘输入一个数N(16之间),利用一个递归过程FAC来计算N!N放在AL中,结果在D*中,然后将计算的结果以十进制形式打印到屏幕上。.8086.MODEL SMALL.DATA RESULT WORD STRING BYTE 5 DUP(),$.CODESTART: MOV A*,DATA MOV DS,A* MAIN PROC FAR CALL SHURU CALL FAC CALL CRLF MOV D*,A* CALL PRT MOV
15、AH,4CH INT 21H MAIN ENDP SHURU PROC NEAR MOV AH,1 INT 21H SUB AL,30H JL E*IT CMP AL,6 JG E*IT E*IT: RET SHURU ENDP MOV RESULT,D* FAC PROC NEAR ;入口参数ALN的值,出口参数D*(N!) CMP AL,0 JNZ F1 MOV D*,1 RET F1:PUSH A* DEC AL CALL FAC POP C* ; 把N的值传给C* CALL MULT ; 把N*FAC(N-1)传给D* RET FAC ENDP MULT PROC NEAR MOV AL,CL MUL DL MOV D*,A* RET MULT ENDP PRT PROC NEAR LEA SI,STRING MOV C*,4 DEC SI LP:PUSH C* CWD MOV C*,10 D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育培训教材开发服务协议
- 电子签到系统升级协议
- 实习2025年法律事务实习合同协议
- 书籍退货逆向物流合作协议
- 健康管理平台开发合作协议
- 特许经营2025年经济合同协议
- 特许经营2025年运营合同协议
- 创意设计众包协议
- 2025年销售销售面试题及答案
- 普工考试真题及答案
- TSDLPA 0001-2024 研究型病房建设和配置标准
- 党史专题讲座智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- DMAIC六西格玛项目报告模板
- 预防褥疮气垫床临床应用
- 银行开学季营销活动
- 如何激励学生学习的积极性和主动性
- 百词斩雅思核心词汇
- 蒸汽和凝结水管道设计
- 股骨粗隆间骨折课件
- 过盈配合压装力计算
- 西方哲学史期末考试试题及答案
评论
0/150
提交评论