汇编语言程序设计A卷答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
call readmsg
movecx,eax
endm
2.(8分)
.686
.model flat,stdcall
option casemap:none
includelib bin\kernel32.lib
ExitProcessproto,:dword
GetStdHandleproto,:dword
WriteConsoleAproto,:dword,:dword,:dword,:dword,:dword
cmp al,’A’
jbnext
cmp al,’Z’
jbe next1
cmp al,’a’
j源自文库 next
cmp al,’z’
ja next
next1:xor al,20h
mov [ebx],al
next:inc ebx
loop again
pop ecx
pop ebx
mov esp,ebp
pop ebp
int 21h
end start
4.(12分)
includeio32.inc
.data
msgbyte‘Are you sure you can pass in the Assembly exam?’,13,10,0
.code
start:
mov eax,sizeof msg
push eax
mov eax,offset msg
或mov dword ptr [ebx],100
3.(每小题2分,共4分)
xchgebx,[edi]或xchg [edi],ebx
movsb
4.(每空2分,共8分)
cmpal,[edi]
dec edx
jmpL3
inc edi
五、编程题(共35分)
1.(5分)
readstringmacro,:msg
lea eax,msg
.code
start:
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset msg
int 21h
again:mov ah,1
int 21h
cmp al,30h
jb next
cmp al,39h
jbe done
next:jmp again
done:mov ax,4c00h
1.错2.对3.对4.对5.错6.对7.对8.错9.对10.错
三、按下面要求写出相应的数据定义语句或汇编指令(变量名可任意指定)(每小题2分,共12分)
1.stringbyte‘assembly language’
2.varword 20 dup (?)
3.strequ <assembly language>
WriteConsoleequ <WriteConsoleA>
STD_OUTPUT_HANDLE = -11
.data
msg byte 'Hello, Assembly!',13,10
outsize dword ?
.code
start:
invoke GetStdHandle,STD_OUTPUT_HANDLE ;获得输出句柄
push eax
call zhuanhuan
add esp,8
mov eax,offset msg
call dispmsg
exit 0
zhuanhuanproc
push ebp
mov ebp,esp
push ebx
push ecx
mov ebx,[ebp+8]
mov ecx,[ebp+12]
again:mov al,[ebx]
4.dvardword 14h
5.add[ebx+esi],eax
6.xoreax,eax或sub eax,eax
四、程序分析与阅读题
1.(每空1分,共8分)
EAX=87654321h
EBX=12345678h
EAX=876543a9hCF=1OF=0ZF=0SF=1PF=1
2.(每小题2分,共8分)每一小题指出错误得1分,写出正确指令得1分
invoke WriteConsole,eax,addr msg,sizeof msg,addr outsize,0 ;显示信息
invoke ExitProcess,0 ;退出
end start
3.(10分)
.model small
.686
.stack
.data
msgbyte‘Input number:0~9’,’$’
ret
zhuanhuanendp
end start
2011级汇编语言程序设计课程试题(A卷答案)
一、填空题(毎空1分,共15分)
1.汇编语言程序/汇编语言源程序,ASM,平展(flat)
2.执行性语句(硬指令),说明性语句(伪指令)
3.立即数,寄存器,存储器
4.导入,动态连接
5.PUSH EBX
6.嵌入汇编,模块连接
7.8,6,16
二、判断题(每题1分,共10分)
操作数类型不一致add eax,ebx或add ax,bx
两个操作数同时是内存单元的数mov eax,var2mov var1,eax
push指令不支持字节操作push ax或push eax
两个操作数类型不明确mov byte ptr [ebx],100
或movword ptr [ebx],100
movecx,eax
endm
2.(8分)
.686
.model flat,stdcall
option casemap:none
includelib bin\kernel32.lib
ExitProcessproto,:dword
GetStdHandleproto,:dword
WriteConsoleAproto,:dword,:dword,:dword,:dword,:dword
cmp al,’A’
jbnext
cmp al,’Z’
jbe next1
cmp al,’a’
j源自文库 next
cmp al,’z’
ja next
next1:xor al,20h
mov [ebx],al
next:inc ebx
loop again
pop ecx
pop ebx
mov esp,ebp
pop ebp
int 21h
end start
4.(12分)
includeio32.inc
.data
msgbyte‘Are you sure you can pass in the Assembly exam?’,13,10,0
.code
start:
mov eax,sizeof msg
push eax
mov eax,offset msg
或mov dword ptr [ebx],100
3.(每小题2分,共4分)
xchgebx,[edi]或xchg [edi],ebx
movsb
4.(每空2分,共8分)
cmpal,[edi]
dec edx
jmpL3
inc edi
五、编程题(共35分)
1.(5分)
readstringmacro,:msg
lea eax,msg
.code
start:
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset msg
int 21h
again:mov ah,1
int 21h
cmp al,30h
jb next
cmp al,39h
jbe done
next:jmp again
done:mov ax,4c00h
1.错2.对3.对4.对5.错6.对7.对8.错9.对10.错
三、按下面要求写出相应的数据定义语句或汇编指令(变量名可任意指定)(每小题2分,共12分)
1.stringbyte‘assembly language’
2.varword 20 dup (?)
3.strequ <assembly language>
WriteConsoleequ <WriteConsoleA>
STD_OUTPUT_HANDLE = -11
.data
msg byte 'Hello, Assembly!',13,10
outsize dword ?
.code
start:
invoke GetStdHandle,STD_OUTPUT_HANDLE ;获得输出句柄
push eax
call zhuanhuan
add esp,8
mov eax,offset msg
call dispmsg
exit 0
zhuanhuanproc
push ebp
mov ebp,esp
push ebx
push ecx
mov ebx,[ebp+8]
mov ecx,[ebp+12]
again:mov al,[ebx]
4.dvardword 14h
5.add[ebx+esi],eax
6.xoreax,eax或sub eax,eax
四、程序分析与阅读题
1.(每空1分,共8分)
EAX=87654321h
EBX=12345678h
EAX=876543a9hCF=1OF=0ZF=0SF=1PF=1
2.(每小题2分,共8分)每一小题指出错误得1分,写出正确指令得1分
invoke WriteConsole,eax,addr msg,sizeof msg,addr outsize,0 ;显示信息
invoke ExitProcess,0 ;退出
end start
3.(10分)
.model small
.686
.stack
.data
msgbyte‘Input number:0~9’,’$’
ret
zhuanhuanendp
end start
2011级汇编语言程序设计课程试题(A卷答案)
一、填空题(毎空1分,共15分)
1.汇编语言程序/汇编语言源程序,ASM,平展(flat)
2.执行性语句(硬指令),说明性语句(伪指令)
3.立即数,寄存器,存储器
4.导入,动态连接
5.PUSH EBX
6.嵌入汇编,模块连接
7.8,6,16
二、判断题(每题1分,共10分)
操作数类型不一致add eax,ebx或add ax,bx
两个操作数同时是内存单元的数mov eax,var2mov var1,eax
push指令不支持字节操作push ax或push eax
两个操作数类型不明确mov byte ptr [ebx],100
或movword ptr [ebx],100