汇编语言典型习题讲解B-复习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断题1
1. 指令MOV AL,2000H 是合法的。 2. 指令MOV CX,AL 是合法的。 3. 指令MOV IP,BX 是合法的。 4. 串操作指令中用DI作为目的变址寄存器时使用段寄存器 ES。 5. OFFSET的优先级低于AND。 6. 语句LENGTH=SIZE*TYPE 是合法的。 7. 语句SKY DD ‘ABCD’ 是合法的。 8. 语句QEW DB ‘ASDF’ 是合法的。
9.3 像素的存储单元
• (24*80+40)*2=3920d=0F50H
9.4 定光标位置
第12行 第8列 mov dh, 12 mov dl, 8 mov bh, 0 mov ah, 2 int 10h
9.5 清屏
左上第12行第0列、右下第22行第79列 mov ah, 6 ;scroll up function mov al, 0 ;code to blank screen mov ch, 12 ;upper left row mov cl, 0 ;upper left columm mov dh, 22 ;lower right row mov dl, 79 ;lower right column mov bh, 7 ;blank line attribute int 10h ;video ROM call
D、ENDM
D、AL和20H D、?ABC
D、[BP+BX]
D、-2
答案:1、c 2、d 3、b 4、c 5、b
选择题
6.汇编语言指令中唯一不可缺少的域是: A、标号名字域 B、助记符域 C、操作数域 D、注释域 7.下面哪一个命令是显示内存单元的内容? A、D命令 B、E命令 C、F命令 D、R命令 8.能被计算机直接识别和执行的指令是: A、符号指令 B、机器指令 C、伪指令 D、宏指令 9.取变量偏移属性的分析运算符是: A、OFFSET B、TYPE C、SIZE D、SEG 10.分析运算符LENGTH只有用( )定义的变量才有意义。 A、表达式 B、字符串 C、DUP D、?
答案:1.no
2.no
3.no
4.yes 5.no 6.no
7.no
8. yes
判断题2
1. 无条件转移指令对标志位无影响,而条件转移指令对标 志位有影响。 2. 间接转移指令都可以通过寄存器来寻址。 3. 所有串操作指令的源串的段地址均取自于段寄存器DS: 5. 串操作指令一般用CX存放长度: 5. RET N指令中,N可为任意值 6. IN AL,DX是将一个字节由输入端口传送至AL 7. 所有中断过程均可用IRET指令退出 8. 8号类型的中断向量在中断向量表中的地址是2*8 答案: 1.no 5.no 2.yes 6. yes 3.yes 7. yes 4.yes 8.no
答案:6、b 7、a 8、b 9、a 10、c
选择题
11.段内直接转移指令采用的寻址方式是: A、直接寻址 B、相对寻址 C、绝对寻址 D、间接寻址 12.下列指令中不等价的是: A、JA和JNBE B、JG和JNLE C、JL和JNG D、JBE和JNA 13.下列指令中等价的是: A、JC和JO B、JNC和JNO C、JP和JPE D、JA和JG 14.在MOVSB指令中,其目的串的物理地址为: A、(DS)*16+(SI) B、(DS)*16+(DI) C、(ES)*16+(SI) D、(ES)*16+DI)
8.7硬币兑换机
状态寄存器的端口地址是 0006H ,数据输入寄存器 的端口地址是0005H、输出寄存器端口0007H。
push bx tst: IN AL, 0006h ;状态输入 test al, 04h ;测试第2位 je tst ;是1?不是重来 input: in al, 0005 ;输入 mov bl,al and bl,03 ;取数据 ready: in al, 0006h ;测状态 test al, 08h je ready ;未准备好 cmp bl, 3 ;是5角? jz money50 ;是 cmp bl,2 ;是2角? jz money20 ;是 mov al, 1 ;不,是1角 jmp output money20: mov al, 4 jmp output money50: mov al, 10 Output: out 7,al
9.7 显示字符串
message db 'Try again, you have' cont db 'n' db 'starfighters left.$' ... add cl, 30h mov cont,cl lea dx, message mov ah, 9 int 21h
9.8 比较字符串长度,显示最长者
prognam proc far start:push ds sub ax,ax push ax mov ax,datarea mov es,ax mov ds,ax begin: lea dx,mess1 mov ah,09h int 21h lea DX,MAX mov ah,10 int 21h call crlf
datarea segment mess1 db 'Please input a string:',0ah,0dh,'$' mess2 db 'Please continue:',0ah,0dh,'$' mess3 db 'Input a letter.',0ah,0dh,'$' maxstr db 'The longest string is:',0ah,0dh,'$' MAX db 80,? strbuf db 80 dup(?) db 0ah,0dh,'$' strtmp db 80 dup('$') maxlen db 0 clf db 0ah,0dh,'$' datarea ends code segment assume cs:code,ds:datarea,es:datarea
mov cl, max+1 cmp maxlen,cl jnb lab mov ch,0 mov maxlen,cl lea si,strbuf lea di,strtmp rep movsb lab: lea dx,mess3 mov ah,09h int 21h mov ah,01 int 21h cmp al,'$' je dispstr
9.6
(l)读当前光标位置 mov ah, 3 mov bh, 0 int 10h (2)定光标 mov dh,18h mov dl, 0 mov bh, 0 mov ah,2 int 10h (3)显示‘M’ mov ah,2 ;定位 mov bh,0 mov dx, 0 int 10h mov ah, 9 ;显示 mov al, 'M' mov bh, 0 mov bl, 7 mov CX, 1 int 10h
汇编语言典型习题讲解B
沈云付
选择题
1.源程序结束语句为: A、ENDP B、ENDS C、END MAIN 2.SKY: MOV AL,20H中操作数为: A、MOV B、SKY C、AL或20H 3.下列为不合法的标志符的是: A、AXYZ B、5SKY C、@ATT 4.下列地址表达式正确的是: A、[BX-SI] B、[BP-DI] C、[BX+2] 5.NEAR标号的类型值为: A、2 B、-1 C、4
8.10 Int 9
...
Push ds mov ax,Seg int_rout m0v ds,ax mov dx,offSet int_rout mov al, 09 mov ah, 25h int 21h pop ds ...
9.2 加密
scode db 7,5,9,1,3 db 6,8,0,2,4 buffer db 10 dup (?) ... MOV AX, SEG SCODE MOV DS,AX mov si, 0 mov cx, 10 lea BX, scode input: mov ah, 01 int 21h CMP AL,0DH JZ EXIT;回车,退出 and al, 0fh; 取数 xlat ;换码 ;AL得到密码 mov buffer[si],al ;存储 inc si loop input EXIT:ret
call crlf lea dx,mess2 mov ah,09h int 21h jmp begin dispstr:lea dx,maxstr mov ah,9 int 21h lea dx,strtmp mov ah,09 int 21h ret
crlf proc near mov dx, offset clf ;回车换行 mov ah,9 ;显示 int 21h ; ret ;返回 crlf endp prognam endp code ends end start
答案:15.A 16.A
选择题
17.中断服务程序入口地址占用( )个字节 A. 4 B. 6 C. 2 D. 1 18. 键盘中断调用(16H)的0号功能是将读入字符的ASCII码 送入() A.AH B.AL C.BH D.BL 19.DOS系统功能调用的屏幕显示字符是( )号调用 A. 1 B. 4 C. 5 D. 2 20.1H DOS功能调用中,字符送给( )寄存器 A. DH B. DL C. AL D. AH 答案:17.A 18.B 19.D 20.C
答案:选择题 11.B 12.C 13.C 14.D
选择题
15.条件转移指令的转移范围: A、-128 -- +127 B、-32768 -- +32767 C、0 -- +255 D、0 -- +65535 16.执行段间调用指令CALL时,首先保护断点的: A、段地址和偏移地址 B、段地址 C、偏移地址
Exer 5.06
将20个数据的数组 M中的数分2组,正整数组P和负 整数组N,并显示P和N的个数,用过程实来自百度文库。 要求: 定义数据段和有关变量 主程序中将M的地址传给SI,个数传给CX 调用统计子程序 count ,参数为 SI 、 CX ,实现 M 的 分类存放,并返回P和N的个数。 编写显示子程序display,传入表示个数的BL,用十 进制显示BL内容。