计算机组成原理实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.应用汇编指令实现a+b+c,a,b,c的值均为ffffh,答案保存在4100h地址。Mov si,4000h
Mov [si],0ffffh
Mov [si+2],0ffffh
Mov [si+4],0ffffh
Mov ax,0
Mov [si+102],0
Mov ax,[si]
Add ax,[si+2]
Adc [si+102],0
Add ax,[si+4]
Adc [si+102],0
Mov [si+100],ax
2.实现地址空间4000H—4fff清零mov si,4000h
L1:mov [si],00h
inc si
cmp si,5000h
jnz l1
jmp $
3.将存储器4000h-4fffh范围内偶数地址的信息清零.要求所有代码放置在2dc0h.
code segment
assume cs:code
org 2dc0h
start :mov al,00h
mov bx,4000h
con1:mov [bx],al
add bx,0002h
cmp bx,5000h
jnc con1
jmp $
code ends
end start
4.
code segment
assume cs:code
org 2ce0h
start:
mov si,3fffh
mov dx,0000h
mov ax,65535 mov cx,10000
div cx
mov [si+1],al
mov ax,dx
mov dx,0000h
mov cx,1000
div cx
mov [si+2],al
mov ax,dx
mov dx,0000h
mov cx,100
div cx
mov [si+3],al
mov ax,dx
mov dx,0000h
mov cx,10
div cx
mov [si+4],al
mov [si+5],dx(dl)
jmp $
code ends
end start
5.设计一通用数据块间数据搬移程序。实现4000h-40ffh和4100h-41ffh 之间数据块的移动,代码段存储在2ef0h,程序只使用代码段进行缩写。code segment
assume cs:code
org 2ef0h
start:mov cx,0100h ;数据长度mov si,4000h ;源首地址mov di,4100h ;目的首地址cmp si,di ;比较源、目首地址大小ja fadr ;si>di fadr
add si,cx ;源末址+1
add di,cx ;目的末址+1 dec si ;
dec di
con1:mov al,[si] ;取源数mov [di],al ;写末数
dec si ;源地址-1
dec di ;目的址-1
dec cx ;长度-1
jne con1 ;未完继续jmp $
fadr:mov al,[si] ;取源数mov [di],al ;写目数
inc si ;源址+1
inc di ;目的址+1
dec cx ;长度+1
jne fadr ;未完继续jmp $
code ends
end start
6.
7.