鱼C论坛

 找回密码
 立即注册
查看: 4280|回复: 9

[汇编作业] Assembly language 检测点3.2

[复制链接]
发表于 2013-7-29 15:30:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
检测点3.2 psb15104543082059408589.jpg
(1)补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。
mov ax,1000H  
mov ds,ax  
mov ax,2000H  
mov ss,ax     
mov sp,10h   
push [0]  
push [2]  
push [4]  
push [6]  
push [8]  
push [A]  
push [C]  
push [E]  
检测点3.2  
(2)补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。  
mov ax,2000H  
mov ds,ax  
mov ax,1000H
mov ss,ax   
mov sp,0     
pop [e]  
pop [c]  
pop [a]  
pop [8]  
pop [6]  
pop [4]  
pop [2]  
pop [0]  
实验2 用机器指令和汇编指令编程  
(1)使用DEBUG,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。  
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
  
mov ax,[0]    ;ax= 5BEAH
add ax,[2]    ;ax= 5CCAH
mov bx,[4]    ;bx= 31F0H
add bx,[6]    ;bx= 6122H
  
push ax       ;sp= 00FEH ,修改的内存单元地址是 2200:00FE 内容为 5CCAH
push bx       ;sp= 00FCH ,修改的内存单元地址是 2200:00FC 内容为 6122H
pop ax        ;sp= 00FCH ,ax= 6122H
pop bx        ;sp= 00FEH ,bx= 5CCAH
  
push [4]      ;sp= 00FEH ,修改的内存单元地址是 2200:00FE 内容为 31F0
push [6]      ;sp= 00FCH ,修改的内存单元地址是 2200:00FC 内容为 2F32
  
此实验答案不定,需根据每台机器的实际运行情况。
  
Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-2001.
C:DOCUME~1ADMINI~1>debug
-a
0C1C:0100 mov ax,ffff
0C1C:0103 mov ds,ax
0C1C:0105 mov ax,2200
0C1C:0108 mov ss,ax
0C1C:010A mov sp,0100
0C1C:010D mov ax,[0]
0C1C:0110 add ax,[2]
0C1C:0114 mov bx,[4]
0C1C:0118 add bx,[6]
0C1C:011C push ax
0C1C:011D push bx
0C1C:011E pop ax
0C1C:011F pop bx
0C1C:0120 push [4]
0C1C:0124 push [6]
0C1C:0128
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0C1C  ES=0C1C  SS=0C1C  CS=0C1C  IP=0100   NV UP EI PL NZ NA PO NC
0C1C:0100 B8FFFF        MOV     AX,FFFF
-t
AX=FFFF  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0C1C  ES=0C1C  SS=0C1C  CS=0C1C  IP=0103   NV UP EI PL NZ NA PO NC
0C1C:0103 8ED8          MOV     DS,AX
-t
AX=FFFF  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=0C1C  CS=0C1C  IP=0105   NV UP EI PL NZ NA PO NC
0C1C:0105 B80022        MOV     AX,2200
-t
AX=2200  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=0C1C  CS=0C1C  IP=0108   NV UP EI PL NZ NA PO NC
0C1C:0108 8ED0          MOV     SS,AX
-t
AX=2200  BX=0000  CX=0000  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=010D   NV UP EI PL NZ NA PO NC
0C1C:010D A10000        MOV     AX,[0000]                          DS:0000=5BEA
-d ffff:0 f
FFFF:0000  EA 5B E0 00 F0 31 32 2F-32 35 2F 30 37 00 FC 59   .[...12/25/07..Y
-t
AX=5BEA  BX=0000  CX=0000  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=0110   NV UP EI PL NZ NA PO NC
0C1C:0110 03060200      ADD     AX,[0002]                          DS:0002=00E0
-t
AX=5CCA  BX=0000  CX=0000  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=0114   NV UP EI PL NZ NA PE NC
0C1C:0114 8B1E0400      MOV     BX,[0004]                          DS:0004=31F0
-t
AX=5CCA  BX=31F0  CX=0000  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=0118   NV UP EI PL NZ NA PE NC
0C1C:0118 031E0600      ADD     BX,[0006]                          DS:0006=2F32
-t
AX=5CCA  BX=6122  CX=0000  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=011C   NV UP EI PL NZ NA PE NC
0C1C:011C 50            PUSH    AX
-t
AX=5CCA  BX=6122  CX=0000  DX=0000  SP=00FE  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=011D   NV UP EI PL NZ NA PE NC
0C1C:011D 53            PUSH    BX
-t
AX=5CCA  BX=6122  CX=0000  DX=0000  SP=00FC  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=011E   NV UP EI PL NZ NA PE NC
0C1C:011E 58            POP     AX
-t
AX=6122  BX=6122  CX=0000  DX=0000  SP=00FE  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=011F   NV UP EI PL NZ NA PE NC
0C1C:011F 5B            POP     BX
-t
AX=6122  BX=5CCA  CX=0000  DX=0000  SP=0100  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=0120   NV UP EI PL NZ NA PE NC
0C1C:0120 FF360400      PUSH    [0004]                             DS:0004=31F0
-t
AX=6122  BX=5CCA  CX=0000  DX=0000  SP=00FE  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=0124   NV UP EI PL NZ NA PE NC
0C1C:0124 FF360600      PUSH    [0006]                             DS:0006=2F32
-t
AX=6122  BX=5CCA  CX=0000  DX=0000  SP=00FC  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=0C1C  SS=2200  CS=0C1C  IP=0128   NV UP EI PL NZ NA PE NC
0C1C:0128 16            PUSH    SS
-q


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-6 21:44:37 | 显示全部楼层
第一道题能详细点吗,,想了半天不知道,大神,先谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-11-6 21:45:52 From FishC Mobile | 显示全部楼层
我看看咯!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 00:04:45 | 显示全部楼层
但是最后一个问题,执行完栈的布局后,还没有进行push 指令,栈的内容已经被改变了,我刚学到哪里。想不通,各位学友可以解释一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 03:17:09 | 显示全部楼层
作业
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-30 00:05:21 | 显示全部楼层
本帖最后由 zmxfx 于 2016-7-30 00:06 编辑
hexiaofengye 发表于 2015-6-20 00:04
但是最后一个问题,执行完栈的布局后,还没有进行push 指令,栈的内容已经被改变了,我刚学到哪里。想不通 ...


mov bx,1000h
mov ss,bx
mov sp,0

这三段指令执行后,把栈地址指向1000h:0000h,后面执行pop指令等于是把内存从10000h到1ffffh视为一个栈,题目只是要将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中,所以不管里面的数据什么。


刚学到这,一点心得。有不对的地方希望鱼友批评指正!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-31 23:24:22 | 显示全部楼层
多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-16 22:49:26 | 显示全部楼层

多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-9 15:43:03 From FishC Mobile | 显示全部楼层
谢谢。朋友
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-20 20:24:36 | 显示全部楼层
楼主,
检测点3.2   
(1)补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。
(2)补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。
(1)和(2)问题一样,应该是写错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-6 00:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表