个人收集整理资料, 仅供交流学习, 勿作商业用途
4.1 在下列程序运行后,给相应的寄存器佶存储器单元填入运行的结果。
mov al,10h mov cx,1000h mov bx,2000h mov [cx],al xchg cx,bx mov dh,[bx] mov dl,01h xchg cx,bx mov [bx],dl hlt 结果: Ds:1000=10h Ds:2000=01h Cx=1000h Bx=2000h Dx=1001h Al=10h
4.11 自0500h单元开始,有10个无符号数,编写程序,求这十个数的和<用八位数运算指令),把和放到050a和050b单元中(和用两个字节表示>,且高位在050b单元。b5E2RGbCAP data segment
num db 1ah,2ah,34h,56h,7bh,7ch,27h,38h,49h,6eh
1 / 20
个人收集整理资料, 仅供交流学习, 勿作商业用途
;the result is 02DB data ends code segment
assume cs:code,ds:data start: mov ax,data mov ds,ax mov bl,0 mov si,050ah mov [si],bl mov si,050bh mov [si],bl mov si,0500h mov di,0 mov bx,050ah mov cx,10 loop1:
mov al,num[di] mov [si],al mov ah,[si] add [bx],ah inc si
2 / 20
个人收集整理资料, 仅供交流学习, 勿作商业用途
inc di
adc byte ptr[bx+1],0 clc
loop loop1 mov ax,4c00h int 21h code ends end start
4.4 利用变址寄存器,编写一段程序,把自1000h单元开始的100个数传到自1070h开始的存储区中。p1EanqFDPw 3 / 20
个人收集整理资料, 仅供交流学习, 勿作商业用途
data segment data ends code segment
assume cs:code,ds:data start: mov ax,data mov ds,ax mov cx,99 mov si,1000h mov di,1070h loop1: mov ax,[si] mov [di],ax inc si inc di loop loop1 mov ax,4c00h int 21h code ends end start
4 / 20
个人收集整理资料, 仅供交流学习, 勿作商业用途
4.17 若在存储器中有数a,b,c,d<他们连续存放),编写一个程序实现下列算式: < data segment
num dw 001ah,0026h,002ch,0045h 。the result is 7665 result dw 1 dup(0> data ends code segment
assume cs:code,ds:data start: mov ax,data
5 / 20