广东海洋大学汇编语言复习题 套题+答案(6)

2020-05-01 11:08

上述程序段运行后,从B单元开始依次存放的数据是多少?

FC FE FF F8H=1111 1000

右移一位变为 1111 1100 = FC 再右移一位变为 1111 1110 = FE 再右移一位变为 1111 1111 = FF

调试结果:

2、分析下面程序段的功能

……

DATA SEGMENT

S9 DB 0,1,2,3,4,5,6,7,8,9 DATA ENDS ┇

LEA SI,S9 LEA DI,S9+1 MOV CX,5 LOP:

MOV AL,[SI] XCHG AL,[DI] MOV [SI],AL ADD SI,2 ADD DI,2 LOOP LOP ……

上述程序段运行后,S9开始的10个字节存储单元内容是什么? 01 00 03 02 05 04 07 06 09 08

3、已知BUF开始的数据区中存放有10个大、小写字母,分析下面程序段完成的功能是什么? …… MOV CX,10

LEA BX,BUF K2:MOV AL,[BX] CMP AL,?Z? JBE K1

SUB AL,20H (20H=32,大小写字母相差32) MOV [BX],AL K1:INC BX LOOP K2 ……

实现功能:把小写字母变为大写字母 4. 分析下面程序段完成的功能是什么?

…… ;(DX:AX)联合存放了一个32位数据

MOV CL, 4

SHL DX, CL DL=****0000 MOV BL, AH

SHL AX, CL AL=****0000

SHR BL, CL BL即AH的内容,AH=0000****,四个星号为原来AX的高四位 OR DL, BL

……

功能:把ax的高四位写入到 dx 的低四位

5、分析下面程序段完成的功能是什么?

……

MOV CX,10

LOP1:MOV AH,1 INT 21H

PUSH AX LOOP LOP1

MOV CX,10 LOP2:

POP DX

MOV AH,2 INT 21H

LOOP LOP2

……

功能:把输入的字符逆向输出

6、以下是二进制数(bx)到十六进制数转换并显示程序的源文件BINIHEX.ASM,阅读并完成该程序。

……

START : MOV CH, 4 bx为16位,bx要循环4次,用ch来计次数 ROTATE: mov cl,4 ROL BX, CL

MOV AL, BL bx循环左移后,原来的高四位变为低四位,把bl 的

值送给al, 以免后面的操作影响bx 的值

And al, 0fh 与0fh 相与,只保留低四位 ADD AL, 30H 转换为 ASII 码

CMP AL, 3AH ASII码大于 3Ah 则al 的值大于 9,若小于3Ah,

直接输出

JL PRINTIT

Add al,07h ASII码大于3Ah , A的ASII码为41h, 所以要加上7,

可以输出相应的ABCD....

PRINTIT : MOV DL, AL

Mov ah, 02h INT 21H

Dec ch

JNZ ROTATE ch为零时跳出循环

MOV AH, 4CH INT 21H ……

7、以下是子程序BCDIASC,请阅读程序并完成填空。

;功能:将十进制的两位数的BCD码转换为ASCII码并在屏幕中间显示. ;参数:(AL)= 十进制的两位数的BCD码,无出口参数 BCDIASC : MOV AH, AL

MOV CL, 4 shr ah, cl ;将AH的高4位移至低4位

And al, 0fh ;保留AL的低4位

ADD AH, 30H ;转变为ASCII码 Add al, 30h MOV BX,0B800H Mov es , bx

MOV BYTE PTR ES:[160*12+40*2] ,AH ;显示十位数

MOV BYTE PTR ES:[160*12+40*2+2] ,AL ;显示个位数

ret ;子程序结束,返回主程序

8. 下面程序通过子程序调用,将数据段中字数组ARRAY的COUNT个元素求和,并将结果送SUM单元(COUNT、SUM都是字单元),分析这段程序后补充完整程序中的空格部分。

……

MOV BX, OFFSET SUM PUSH BX

MOV BX, OFFSET ARRAY PUSH BX

MOV BX, OFFSET COUNT PUSH BX

CALL SUMPRO ;调用子程序计算 …….

SUMPRO PROC NEAR

PUSH AX

PUSH CX PUSH SI PUSH DI PUSH BP MOV BP, SP

MOV SI, [BP+ 14 ] MOV DI, [BP+ 12 ] MOV CX, [DI]

MOV DI, [BP+ 16 ] 这题不懂的话,可以找师兄我。 XOR AX, AX NEXT : ADD AX, [SI] ADD SI, 2

LOOP NEXT MOV [ DI ], AX POP BP POP DI POP SI POP CX POP AX RET SUMPRO ENDP ……

请画出用堆栈传送参数地址时,堆栈最满时的状态。

五、编程题

1、从BUF1单元开始存放有10个字节的字符串,使用串传送指令编写指令序列将BUF1

中的数据复制到BUF2开始的10个字节单元。

lea si,BUF1 ;si的段地址为ds lea di,BUF2 ;di的段地址为es mov cx,10 cld


广东海洋大学汇编语言复习题 套题+答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:石大远程在线考试 - 《机械设计考试题》-精制

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: