汇编习题参考答案

发布时间 : 星期三 文章汇编习题参考答案更新完毕开始阅读

stok1 db 6 dup(?)

datasg ends

codesg segment

assume cs:codesg, ds:datasg main proc far push ds sub ax,ax push ax

mov ax,datasg mov ds,ax lea dx,mess1 mov ah,09

int 21h lea dx,st1 mov ah,0ah

int 21h lea dx,mess2 mov ah,09

int 21h mov cl,act1 mov ch,0

mov bx, offset stok1 add bx, cx next: dec bx

mov dl, [bx] mov ah,2 int 21h loop next ret main endp codesg ends

end main

5.10 编写程序,从键盘输入一个八位的二进制数,显示其十六进制数。 code segment

assume cs:code start:

mov cx,8 mov bl,0 next: mov ah,1 int 21h cmp al,30h

jb exit cmp al,31h ja exit sub al,30h shl bl,1 add bl,al loop next mov cl,4 mov di,2 out1: rol bl,cl mov dl,bl and dl,0fh add dl,30h cmp dl,39h jle dig add dl,7 dig: mov ah,2 int 21h dec di cmp di,0 jnz out1 exit: mov ah,4ch int 21h code ends end start

5.11 编写程序,从键盘输入某个字符的ASCII码(作为起点)和个数N,显示输出这N个ASCII码和字符。

5.12 字数组ARRAY为有符号数,第一个单元为元素个数N,后面为N个元素,编写程序,求数组元素中的最大值,并把它放入MAX单元。 data segment

array dw 5,9,4,5,15,3 max dw ? data ends code segment

assume cs:code,ds:data start:

mov ax, data mov ds, ax mov cx, array lea bx, array+1 mov ax, [bx] mov max, ax

k1: mov ax, [bx] cmp ax, max jl next mov max,ax next: add bx,2 loop k1 mov ah,4ch int 21h code ends end start

5.13 字数组ARRAY,第一个单元为元素个数N,后面为N个元素,编写程序,把零元素从数组中清除,移动元素位置并修改第一个单元(元素个数)。 ;delete the 0 from array data segment

array dw 6,3,4,0,15,0,7

loca dw 999 ;此单元地址为结束标记 data ends code segment

assume cs:code,ds:data start:

mov ax, data mov ds, ax mov cx, array lea bx, array+1 next: cmp word ptr[bx],0 jz move add bx,2 dec cx cmp cx,0 jnz next jmp exit move: dec array mov di,bx mnext:

cmp di,offset loca ja next

mov ax, [di+2] mov [di],ax add di,2

cmp di,offset loca jnb next

jmp mnext exit: mov ah,4ch int 21h code ends end start

5.14 下表为奥运会获金牌前十名国家的成绩统计表,请编写程序,统计并填写表中的合计栏数据。

; 先逐行求小计,再按列求合计。 data segment

array db 1,0,1,? ;设简单数据 db 1,1,0,? db 1,1,0,? db 1,1,1,? db 1,1,1,? db 1,1,1,? db 1,1,1,? db 1,1,1,? db 1,1,1,? db 1,1,1,? org 30h

sumvd db ?,?,?,? ;存放按列求的合计数 org 40h

loca dw ? ;存放array的第一行地址 data ends code segment

assume cs:code,ds:data start:

mov ax, data mov ds, ax mov ax, 0

联系合同范文客服:xxxxx#qq.com(#替换为@)