汇编语言的问题30分
程序分析:
1. 现有一子程序:
SUB1 PROC PLUS:TEST BL,80H
TEST AL,80H JE EXITO
JE PLUS XCHANGE:XCHG AL,BL
TEST BL,80H EXITO:RET
JNE EXITO SUB1 ENDP
JMP XCHANGE
试回答:
(1)子程序的功能是什么?
(2)若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=______,BL=______。
2. 执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1
… MOV CH,TYPE NUM
MOV AX,NUM HLT
请问:(AX)=______,(BX)=______,(CX)=______。
3. 阅读程序段:
BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1]
RESULT DB? JNG NEXT
… MOV AL,[SI+1]
START:LEA SI,BLOCK NEXT:INC SI
MOV CX,[SI] LOOP LOP1
INC SI MOV RESULT,AL
MOV AL,[SI] HLT
请问:
(1)该程序完成的功能是什么?
(2)该程序循环的次数是多少?
4. 阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。
ORG 100H
BLOK DW X1,X2,…,XN
COUNT EQU($-BLOLOK)/2
RESULT DW COUNT,?
LEA BX,BLOK-2
MOV CX,RESULT
XOR AX,AX
GOON:ADD BX,2
CMP AX,[BX]
JAE NEXT
MOV AX,[BX]
NEXT:LOOP GOON
MOV RESULT+2,AX
程序段执行完,回答下述问题
RESULT+2字存储单元的内容=______
BX=______
程序循环次数=______
程序填空:
5. BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。
MOV CX,32H
LEA SI,BEG
MOV DI,SI
(1)
DON:MOV AL,[SI]
(2)
MOV [SI],AL
(3)
DEC DI
LOOP DON
HLT
6. 在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。
┇
MOV AX,NUMW
_____________
XOR DX,DX
DIV BX
MOV QUI,AX
_____________
程序设计:
7. 试编制一源程序,统计DA1开始的连续的16个字节中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。
8. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
急求!!
补充:要是全都答上来我在追加30分,标题写30是写错了,一卡点了20。我还剩30分
信誉人品打包票 QQ454874727
追问:你要是全都答上来我还有30分一样都给你了,标题写30是写错了。我还剩30分你要是全都答上来我还有30分都给你了,标题写30是写错了。我还剩30分
答案:data segment
errmess db 'error!','$'
data ends
stack segment stack
db 100 dup(?)
stack ends
code segment
assume cs:code, ds:data, ss:stack
start: mov ax, data
mov ds, ax
lll: move ah, 1
int 21h
cmp al,'#'
jz done
cmp al,'A'
jb err
cmp al,'Z'
ja err
add al,20h
mov dl,al
mov ah,2
int 21h
jmp lll
err: mov dx, offset errmess
mov ah,9
int 21h
jmp lll
done:mov ah, 4ch
int 21h
code ends
end start
嘿嘿,刚好我们做了这个实验,我回答的是第八题哦~
其他:分成8个题目,再来提问。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 看看,有时间帮你写写程序。呵呵
上一个:80X86汇编语言和IBM-PC汇编语言有什么区别
下一个:用8086汇编语言怎样进行4100h到41ffh数据移动的编程