汇编网首页登录博客注册
xmzyl的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2009-04-12 23:12] 试验5 编写、调试具有多个段的程序

一、将下面的程序编译连接,用debug加载、跟踪,然后回答问题:
assume cs:code, ds:data, ss:stack

data segment
        dw 0123h, 0456h, 0789h, 0abch, 0fedh, 0cbah, 0987h
data ends

stack segment
        dw 0, 0, 0, 0, 0, 0, 0, 0
stack ends

code segment

start: mov ax, stack
       mov ss, ax
       mov sp, 16
       mov ax, d...
阅读全文 | 评论次数(2) | 浏览次数(375) | 所属类型(汇编作业)

[2009-04-06 23:12] 检测点6.1

1.
; 下面的程序实现依次用内存0:0-0:15单元中的内容改写程序中的
;数据,完成程序:
assume cs:codesg
codesg segment
dw 0123h, 0456h, 0789h, 0abch,0defh, 0fedh, 0cbah, 0987h
start: mov ax, 0
       mov ds, ax
       mov bx, 0
       mov cx, 8
    s: mov ax, [bx]
       mov cs:[bx], ax
       add bx, 2
       loop s
      ...
阅读全文 | 评论次数(1) | 浏览次数(328) | 所属类型(汇编作业)

[2009-03-31 00:47] 实验4 [bx]和loop的使用

1. 编程,向内存0:200-0:23F依次传送数据0-63(3FH)。
assume code
code segment

  mov ax, 0020h
  mov ds, ax
  mov bx, 0
  
  mov cx, 40h

s:mov ds:[bx], bl
  inc bx
  loop s

  mov ax, 4c00h
  int 21h

code ends
end

2. 编程,向内存依次传送数据0-63(3FH),程序只能使用9条指令,9条指令包括“mov ax,4c00h”和“int 21h”。
  第一题的答案已经...
阅读全文 | 评论次数(1) | 浏览次数(360) | 所属类型(汇编作业)

[2009-03-30 20:33] 试验3 编程、编译、连接、跟踪

点击查看原图
1. 按试验要求,用edit,masm,link生成t1.exe文件。

2. 用debug跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器的内容和栈顶的内容
 1) mov ax, 2000H
   ;ax=2000H  栈顶SS:SP地址: 1DBB:0 内容: B80020(mov ax, 2000H)
   
 2) mov ss, ax
   ;ax=2000H ss=2000H 栈顶地址: 2000:0 内容:FC46H
   
 3) mov sp, 0
   ;这句和上一句一起执行了
   
 4) add sp, 4
 ;栈顶地址: 2000...
阅读全文 | 评论次数(1) | 浏览次数(413) | 所属类型(汇编作业)

[2009-03-29 23:31] 实验2 用机器指令和汇编指令编程

实验2 用机器指令和汇编指令编程

1) 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。

mov ax, ffff
mov ds, ax
mov ax, 2200
mov ss, ax
mov sp, 0100
mov ax, [0]    ;ax=( 5BEA )
add ax, [2]    ;ax=( 5CCA )
mov bx, [4]    ;bx=( 30FO )
add bx, [6]    ;bx=( 6021 )
push ax        ;sp=( 00FE );修改的内存单元地址是( 2200FE )内...
阅读全文 | 评论次数(2) | 浏览次数(416) | 所属类型(汇编作业)

[2009-03-29 22:14] 检测点3.2

(题目略,原题参看教材P66)
1.定义以2000:10为栈顶的栈,然后依次push,达到逆序拷贝的目的,补全的程序如下:
mov ax, 2000H
mov ss, ax
mov sp, 10H

2.定义以1000:E为栈顶的栈,然后依次pop,达到逆序拷贝的目的,补全的程序如下:
mov ax, 1000H
mov ss, ax
mov sp, 000EH...
阅读全文 | 评论次数(1) | 浏览次数(315) | 所属类型(汇编作业)

[2009-03-29 11:17] 检测点3.1

1. 在debug中,用 "d 0:0 1f" 查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄
存器中的值。

mov ax, 1
mov ds, ax
mov ax, [0000]         AX = ( 2662H )
mov bx, [0001]         BX = ( E626H ) ...
阅读全文 | 评论次数(1) | 浏览次数(285) | 所属类型(汇编作业)

[2009-03-28 15:35] 第二章试验任务1

点击查看原图
执行完的寄存器状态:
  AX = 0002  BX = 4026

debug使用小结
1.如果用debug的a命令,会自动把CS:IP作为当前要写入指令的地址
2.用e命令写入机器码,数值的地位必须先输入,如要输入1234H, 那么输入顺序是34,12...
阅读全文 | 评论次数(1) | 浏览次数(308) | 所属类型(汇编作业)

[2009-03-28 14:18] 检测点2.3

下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
 mov ax, bx 
 sub ax, ax
 jmp ax
  答:CPU修改4次IP;在每条指令读入指令缓存区后分别改变了一次,执行jmp ax也改了一次IP;最后IP的值是 0000H。...
阅读全文 | 评论次数(1) | 浏览次数(347) | 所属类型(汇编作业)

[2009-03-28 14:01] 汇编指令的英文全称(转载)

汇编指令的英文全称(转载) 

汇编指令的英文全称 

        如果你想写系统软件,两本入门书籍--谭浩强的《C语言程序设计》和王爽的《汇编语言》是必看的。谭老的C语言已相当成熟,王老师的汇编倒有个小缺陷—指令没有英文全称,或许他认为现在学编程的朋友都不记单词,如同新生代作家看不懂英文原著一般。不过我觉得记住指令的英文全称,就不容易搞混,印象会更深刻,所以我把王爽书中出现的英文缩写的全称罗列出来,以便入门的朋友更好地记住它们。  

8086CPU提供以下几大类指令。  

一、数据传送指令  
比如,mov(move)、push、pop、pushf(push fla...
阅读全文 | 评论次数(1) | 浏览次数(397) | 所属类型(默认类型)
『 查看更多文章 』