题目描述

(1) 将下面的程序保存为2.asm文件,将其生成可执行文件2.exe。

assume cs:codesg  codesg segment  mov ax,2000H  mov ss,ax  mov sp,0  add sp,10  pop ax  pop bx  push ax  push bx  pop ax  pop bx  mov ax, 4c00h  int 21H  codesg ends  end

按书中所示,从DOS进入EDIT

file->save as
退出EDIT,进行编译,连接
生成可执行文件2.exe
(2) 用DEBUG跟踪2.exe的执行过程,写出第一步执行后,相关寄存器的内容和栈顶内容。

Microsoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.D:\>debug 2.exe-rAX=0000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=0C79  CS=0C79  IP=0000   NV UP EI PL NZ NA PO NC0C79:0000 B80020        MOV     AX,2000-tAX=2000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=0C79  CS=0C79  IP=0003   NV UP EI PL NZ NA PO NC0C79:0003 8ED0          MOV     SS,AX-tAX=2000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=0008   NV UP EI PL NZ NA PO NC0C79:0008 83C40A        ADD     SP,+0A-tAX=2000  BX=0000  CX=0016  DX=0000  SP=000A  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=000B   NV UP EI PL NZ NA PE NC0C79:000B 58            POP     AX-d 2000:0 f2000:0000  00 20 00 00 0B 00 79 0C-80 06 79 0C 80 06 00 1F   . ....y...y.....-tAX=0C79  BX=0000  CX=0016  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=000C   NV UP EI PL NZ NA PE NC0C79:000C 5B            POP     BX-d 2000:0 f2000:0000  00 20 79 0C 00 00 0C 00-79 0C 80 06 80 06 00 1F   . y.....y.......-tAX=0C79  BX=0680  CX=0016  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=000D   NV UP EI PL NZ NA PE NC0C79:000D 50            PUSH    AX-d 2000:0 f2000:0000  00 20 79 0C 79 0C 00 00-0D 00 79 0C 80 06 00 1F   . y.y.....y.....-tAX=0C79  BX=0680  CX=0016  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=000E   NV UP EI PL NZ NA PE NC0C79:000E 53            PUSH    BX-d 2000:0 f2000:0000  00 20 79 0C 00 00 0E 00-79 0C 80 06 79 0C 00 1F   . y.....y...y...-tAX=0C79  BX=0680  CX=0016  DX=0000  SP=000A  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=000F   NV UP EI PL NZ NA PE NC0C79:000F 58            POP     AX-d 2000:0 f2000:0000  79 0C 00 00 0F 00 79 0C-80 06 80 06 79 0C 00 1F   y.....y.....y...-tAX=0680  BX=0680  CX=0016  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=0010   NV UP EI PL NZ NA PE NC0C79:0010 5B            POP     BX-d 2000:0 f2000:0000  79 0C 80 06 00 00 10 00-79 0C 80 06 79 0C 00 1F   y.......y...y...-tAX=0680  BX=0C79  CX=0016  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=0011   NV UP EI PL NZ NA PE NC0C79:0011 B8004C        MOV     AX,4C00-tAX=4C00  BX=0C79  CX=0016  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=2000  CS=0C79  IP=0014   NV UP EI PL NZ NA PE NC0C79:0014 CD21          INT     21-pProgram terminated normally-q

(3)PSP的头两个字节是CD20,用DEBUG加载2.exe,查看PSP的内容。

Microsoft(R) Windows DOS(C)Copyright Microsoft Corp 1990-2001.D:\>debug t1.exe-rAX=0000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000DS=0C69  ES=0C69  SS=0C79  CS=0C79  IP=0000   NV UP EI PL NZ NA PO NC0C79:0000 B80020        MOV     AX,2000-d 0c69:00C69:0000  CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 80 06 8A 03   . ........O.....0C69:0010  80 06 17 03 80 06 6F 06-01 01 01 00 02 FF FF FF   ......o.........0C69:0020  FF FF FF FF FF FF FF FF-FF FF FF FF 2D 0C 4C 01   ............-.L.0C69:0030  40 0B 14 00 18 00 69 0C-FF FF FF FF 00 00 00 00   @.....i.........0C69:0040  05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................0C69:0050  CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20   .!...........0C69:0060  20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20           .....0C69:0070  20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00           ........-q

《汇编语言》王爽—第五章实验三详解相关推荐

  1. 《汇编语言》王爽—第七章实验六详解

    编程,完成问题7.9中的程序 assume cs:codesg,ds:datasg,ss:stacksgdatasg segmentdb '1. display 'db '2. brows 'db ' ...

  2. 《汇编语言》王爽—第六章实验四详解

    (1) 编程,向内存0:200~ 0:23f依次传递数据0~63(3fh). assume cs:codecode segmentmov bx,20hmov ss,bxmov sp,40hmov bx ...

  3. 【正点原子MP157连载】 第五章 STM32MP1启动详解-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  4. 汇编语言 王爽 第四版 第三章 检测点3.2

    汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点3.2 1 补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中. mov ax,1 ...

  5. 汇编语言 王爽 第四版 实验5

    汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 实验5 编写.调试具有多个段的程序 1 编译连接下面程序,用debug加载.跟踪,回答问题. assume cs:code,ds:data, ...

  6. 汇编语言 王爽 第四版 实验1

    汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 文章目录 实验1 查看CPU和内存,用机器指令和汇编指令编程 1 开始执行命令: 2 指令 过程 3 4 实验1 查看CPU和内存,用机器指 ...

  7. delphi 串口通信发送_STM32第五章串口通讯详解

    点击上方"果果小师弟",选择"置顶/星标公众号"干货福利,第一时间送达! 串口通信是串行通信里面的异步方式.串行通信是相对于并行通信来说的.串口是一个事实存在的 ...

  8. 【汇编语言】8086汇编的loop循环与[bx]寻址(王爽第五章5.5节学习笔记)

    计算FFFF:0 ~ FFFF:B单元中数据的和,结果存储到dx中 1 分析与解决 内存单元:字节型数据 目标寄存器:dx,字型寄存器,不匹配 数据范围:dx不会超,但是dl会超,因此必须用dx 将字 ...

  9. 汇编语言---------王爽第4章

    第4章 一个源程序从写出到执行的过程 end assume 标号 程序的运行机制 与结束相关的概念 写汇编程序 编辑源程序 编译源程序 链接 程序执行过程的跟踪 一个源程序从写出到执行的过程 一个源程 ...

最新文章

  1. 关于String数组的用法
  2. 深圳市中心迎来首批RoboTaxi,元戎启行正式开放运营
  3. Bech32编码 (3)隔离见证地址
  4. 【转】VC6.0附带小工具软件一览
  5. mysql 冷热表_Redis+MySQL冷热数据交换
  6. 找到一个二位数组的鞍点
  7. 友友球捕获率_神奇宝贝球内部秘密公开!大师球原来是这样达到100%捕获率的...
  8. java的数列极差_[hoj]数列极差问题 | 学步园
  9. andoridstudio run图标是灰色两步解决
  10. C++11新特性之auto关键字的使用
  11. 原子结构示意图全部_所有原子结构示意图 元素周期表
  12. 《北京市工作居住证》办理攻略
  13. qq团购群如何引流?群主如何建群拉新以及营销
  14. 《游戏设计艺术(第2版)》——所有透镜合集
  15. Pong’s Birds(概率 模拟)
  16. 360抢票服务器响应,抢票首日 360浏览器成最佳
  17. 快门背后的机器学习:实时 HDR+ 和双重曝光控制
  18. [学习Cython编程]Cython编程入门
  19. 华为路由器:真机AR1200路由器密码重置
  20. java学习day38(Linux)Linux、命令

热门文章

  1. 解决ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost
  2. Linux系统学习 八、SSH服务—SSH远程管理服务
  3. 04737 c++ 自学考试2019版 第二章课后程序设计题 3
  4. 【Java】用for循环实现1+2+3......+100 =
  5. Orace用户创建及权限分配
  6. hexo博客添加暗色模式_我如何将暗模式添加到我的网站
  7. angular 自定义组件_如何创建Angular 6自定义元素和Web组件
  8. 该错误是如何发生的? Git一分为二进行营救!
  9. 阶级斗争的作用_21世纪的阶级斗争
  10. 145_Power BI Report Server自定义Form登录