内容发布更新时间 : 2024/11/14 14:46:22星期一 下面是文章的全部内容请认真阅读。
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================
习题3.10问题:?画图说明下列语句分配的存储空间及初始化的数据值解答:(1)byte_varDB 'ABC',10,10h,'EF',3 DUP(-1,?,3 DUP(4))‘A’‘B’‘C’1010h‘E’‘F’-1-444...41h42h43h0ah10h45h46hffh-04h04h04h(2)word_varDW 10h,-5,3 DUP(?)10h0FBhFFh----10h
3个--? -5??3.16 解:
3.18 解:
done:
3.19 解:
bufX signX
mov ah,1 int 21h sub al,20h mov dl,al mov ah,2 int 21h
;只允许输入小写字母 ;转换为大写字母
;显示
mov ax, bufX cmp ax, bufY jge done mov ax, bufY mov bufZ, ax
.model small .stack .data dw -7 db ? .code .startup cmp bufX,0 ;test bufX,80h
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================================
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================
next: done:
3.20 解:
mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl
next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h
3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。
;wjxt322.asm .model small .stack .data
b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据 num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 3.30 解: lucase proc push bx mov bx,offset string
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================================
jl next ;jnz next mov signX,0 jmp done mov signX,-1 .exit 0 end
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================
cmp al,0 je case0
cmp al,1 jz case1 cmp al,2 jz case2 jmp done
case0: cmp byte ptr [bx],0 je done cmp byte ptr [bx],’A’ jb next0 cmp byte ptr [bx],’Z’ ja next0 add byte ptr [bx],20h next0: inc bx jmp case0
case1: cmp byte ptr [bx],0 je done cmp byte ptr [bx],’a’ jb next1 cmp byte ptr [bx],’z’ ja next1 sub byte ptr [bx],20h next1: inc bx jmp case1
case2: cmp byte ptr [bx],0 je done cmp byte ptr [bx],’A’ jb next2 cmp byte ptr [bx],’Z’ ja next20 add byte ptr [bx],20h jmp next2
next20: cmp byte ptr [bx],’a’ jb next2 cmp byte ptr [bx],’z’ ja next2 sub byte ptr [bx],20h next2: inc bx jmp case2 done: pop bx ret lucase endp
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================================