汇编语言几道考试题目,高手来帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:52:07
1、现有一子程序段
SUBI PROC
TEST AL,80H
JE PLUS
TEST BL,80H
JNE EXITO
JMP XCHANGE
PLUS:TEST BL,80H
JE EXITO
XCHANGE:XCHG AL,BL
EXITO:RET
SUBI1 ENDP
试回答:(1)子程序的功能是什么?(2)如使用子程序前(AL)=9AH,(BL)=77H,则返回主程序时,(AL)=?(BL)=?
2、程序填空
a)统计“AX”中“1”的个数
MOV CX,0
L1:TEST AX,0FFFFH
JE L3
[ ]----第1空
INC CX
L2:[ ]----第2空
JMP L1
L3:....
b)完成将DA1开始的单元中的0~9共10个数字转换成对应的ASCII码开始的单元中存放。
DA1 DB 00H,01H,02H,03H,04H
DB 05H,06H,07H,08H,09H
ASC1 DB 10 DUP(?)
CUNT EQU ASC1-DA1
...
LEA SI,DA1
IEA DI,ASC1
[ ]---第3空
LOP:MOV AL,[SI]
[ ]---第4空
MOV [DI],AL
INC SI

1、
(1)子程序的功能是判断AL和BL是否异号,若异号则将二者值交换
(2)返回主程序时,(AL)=77H(BL)=9AH
2、
a)
[JNS L2]----第1空
L2:[SHL AX,1]----第2空
b)
[MOV CX,CUNT ]---第3空
[ADD AL,30H ]---第4空
[ LOOP LOP]---第5空
3、程序设计
1)
DATA SEGMENT
X1 DB 12H
X2 DB 34H
MA DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,X1
CMP AL,X2
JAE TJ
MOV AL,X2
TJ:
MOV MA,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
2)
DATA SEGMENT
A DB 12,32,44,24,55,65,73,23,21,26,78,87,57,83,22
B DB 32,44,54,65,24,35,88,97,45,43,67,87,22,34,77,78,99,67,83,10
C DB 15 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,ES:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,A
LEA BX,C
MOV DX,15
NEXT1:
MOV AL,[SI]
LEA DI,B
MOV CX,20
CLD
REPNE SCASB
JNE NEX