当前位置: 首页 > news >正文

汇编【王爽】实验3、4

实验3 编程、编译、链接、跟踪

assignment 1

编译链接生成可执行文件
在这里插入图片描述

assignment 2

  1. debug将程序载入内存,设置CS:IP:程序所在内存段的段地址为 D S = 075 C DS=075C DS=075C,则PSP的地址为 075 C : 0 075C:0 075C:0,程序的地址为 076 C : 0    ( 075 C + 10 : 0 ) 076C:0\;(075C+10:0) 076C:0(075C+10:0), C S : I P = 076 C : 0000 CS:IP = 076C:0000 CS:IP=076C:0000
    在这里插入图片描述
  2. 跟踪程序执行过程
    在这里插入图片描述
    用P命令执行INT 21
    在这里插入图片描述

assignment 3

  1. 查看PSP的内容
    在这里插入图片描述

实验4 [bx]和loop的使用

assignment 1

  1. 编写源程序
assume cs:codesg

codesg segment

mov ax, 0020H
mov ds, ax
mov bx, 0
mov dx, 0
mov cx, 64

s: 
mov [bx],dx
inc bx
inc dx
loop s

mov ax, 4c00h 
int 21h

codesg ends
end
  1. 编译,链接生成可执行文件
    在这里插入图片描述
  2. 查看载入内存的程序,可以看见标签s已被替换为地址 076 C : 000 E 076C:000E 076C:000E在这里插入图片描述
  3. 执行程序,验证结果,正确
    在这里插入图片描述

assignment 2

  1. 编写源程序:将bx寄存器两用,即作偏移地址,又作操作数,可将程序缩短为9条指令
assume cs:codesg

codesg segment

mov ax, 0020H
mov ds, ax
mov bx, 0
mov cx, 64

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

mov ax, 4c00h 
int 21h

codesg ends
end
  1. 其它步骤与assigment 1一致,验证结果,正确
    在这里插入图片描述

assignment 3

  1. 复制的是什么:复制程序的第一条指令mov ax,cs到 loop s 指令至内存地址 0020 : 0000 0020:0000 0020:0000
  2. 如何知道程序的字节数:首先可以确定第一个空应该填入CS,这是程序的段地址,其次在mov cx,_____ 上先随意填一个1,用debug跟踪程序,用U命令查看程序所占地址范围: 076 C : 0000 → 076 C : 0015 076C:0000 \to 076C:0015 076C:0000076C:0015,共 16 H   ( 23 D ) 16H\,(23D) 16H(23D)个字节,因此第二个空应该填入 16 H 16H 16H
    在这里插入图片描述

相关文章:

  • 电子烟网站建设/响应式网站建设
  • 用flash做的经典网站/软文投稿平台有哪些
  • 网站建设什么好/seo是什么字
  • 网站备案提示/百度官网下载安装到桌面上
  • 公司门面网站设计/快速seo排名优化
  • 网站的关键词怎么选择/什么是网络营销含义
  • 【AcWing寒假每日一题2023】Day14——如此编码
  • C/C++ 调用规则
  • VUE: Vue3+TS的项目搭建及基础使用
  • 大数据采集技术简述
  • AtCoder Beginner Contest 285 青大蒟蒻训练日常(A-F) 上分场(可惜unr)
  • 机器学习的几个公式
  • 广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”
  • 简单步骤比别人抢红包快一步
  • 和涤生大数据的故事
  • 一个另类博主的辩白
  • 《Buildozer打包实战指南》第一节 在虚拟机中安装Ubuntu系统
  • c++通讯录管理系统