当前位置: 代码迷 >> 汇编语言 >> 有一道汇编作业题目,想问一下大家怎么做.现场等
  详细解决方案

有一道汇编作业题目,想问一下大家怎么做.现场等

热度:5125   发布时间:2013-02-26 00:00:00.0
有一道汇编作业题目,想问一下大家如何做.现场等
因为本人作业中有几题故此问一下该如何做.
data   segment
da1   dw   123H,456H,0AB00H
da2   DB   12H,34H,56H,0ABH
        DB   $-da2
Buf1   DB   10H   DUP(1,2,3)
Da1   ends
试问执行下列代码后的结果:
1)  
Mov   si,Offset   da1
mov   di,offset   buf1
mov   cx,5
Lop   :mov   al,[si]
mov   [si],al
inc   si
inc   di
loop   lop
buf1的前五个字节单元的内容依次是什么?

2)   mov   bx,ds:[0006]      
and   bx,0ffh
and   bx,[bx]
bx=???
3)   mov   dx,size   buf1
      add   dx,word   ptr   da2+4
      (dx)=???
4)   lea   si,da2
      mov   cl,4[si]
      mov   ch,length   buf1
      (cx)=?????
2.设已定义数据段:
data   segment  
?????
da1   db   XX,XX
DA2   DB   XX,XX
Adrr   dw   da1,da2
data   ends
为使adrr+2   字存储单元中存放内容为 "0024H ",上面??的地方填写什么?

------解决方案--------------------------------------------------------
把第一题写成这样。上机编译、DEBUG,一定能看到作业的答案的:
======================
data segment
da1 dw 123h,456h,0AB00H
da2 db 12h,34h,56h,0ABh
db $-da2
buf1 db 10h dup(1,2,3)
data ends

code segment
assume cs:code,ds:data
main:
mov ax,data
mov ds,ax

mov si,offset da1
mov di,offset buf1
mov cx,5
lop: mov al,[si]
inc si
inc di
loop lop

mov bx,ds:[0006]
and bx,0ffh
and bx,[bx]
;bx=???
mov dx,size buf1
add dx,word ptr da2+4
;dx=???
lea si,da2
mov cl,4[si]
mov ch,length buf1
;cx=???

mov ah,4ch
int 21h
code ends
end main


第二题我就不想说了!
------解决方案--------------------------------------------------------
Mov si,Offset da1
mov di,offset buf1
mov cx,5
Lop :mov al,[si]
mov [si],al
inc si
inc di
loop lop


那个mov [si],al你是想写mov [di],al吧

------解决方案--------------------------------------------------------
2.mov bx,ds:[0006]把ds区的0006单元取出付给bx我机子上是fef0
and bx,0ffh 对bx与0ff做于运算FEF0 AND 0FF = 00F0
and bx,[bx] 取bx的内容与00f0做与运算=0000
  相关解决方案