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

国家级示范职业学校 建设网站小程序制作二维码

国家级示范职业学校 建设网站,小程序制作二维码,合肥百度搜索优化,wordpress如何压缩图片《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序 题目1题目2题目3题目4题目5题目6总结 题目1 将下面的程序编译、连接#xff0c;用 Debug 加载、跟踪#xff0c;然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h,0789h,0abch,0def… 《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序 题目1题目2题目3题目4题目5题目6总结 题目1 将下面的程序编译、连接用 Debug 加载、跟踪然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h ; 占16字节 data endsstack segmentdw 1,2,3,4,5,6,7,8 ; 占16字节 stack endscode segmentstart: mov ax, stack ; 获取栈段mov ss, ax ; 设置栈段mov sp, 16 ; 设置栈顶 ss:spmov ax, datamov ds, ax ; ds 指向 data 段push ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax, 4c00h int 21h code ends end startCPU 执行程序程序返回前data 段中的数据为多少? 答:数据没变。先入后出保持了顺序。CPU 执行程序程序返回前cs 076E 、ss 076D 、ds 076C 。设程序加载后code 段的段地址为 X则 data 段的段地址为 X-2 stack 段的段地址为 X-1 。 题目2 将下面的程序编译、连接用 Debug 加载、跟踪然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h data endsstack segmentdw 1,2 stack endscode segmentstart: mov ax, stack ; 获取栈段mov ss, ax ; 设置栈段mov sp, 16 ; 设置栈顶 ss:spmov ax, datamov ds, ax ; ds 指向 data 段push ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax, 4c00h int 21h code ends end startCPU 执行程序程序返回前data 段中的数据为多少? 答:数据没变。先入后出保持了顺序。CPU 执行程序程序返回前cs 076E 、ss 076D 、ds 076C 。设程序加载后code 段的段地址为 X则 data 段的段地址为 X-2 stack 段的段地址为 X-1 。 对于如下定义的段如果段中的数据占N 个字节则程序加载后该段实际占有的空间为 n % 16 ? n (16 - n % 16) : n 字节。 到网上看到别人的公式 ( N/161) * 16但当正好是16的倍数时这个公式显示与观察到的效果不符。 name segment ... name ends观察程序加载后CX0042与题目1中相同可知虽然只声明了4个字节但是系统还是按16字节分配了内存。 可以看到数据段和栈段都是16字节。代码段从076C:0020开始。 看下通过观察推测的结果 [...Array(9527).keys()].map(n ${n} ${n % 16 ? n (16 - n % 16) : n})题目3 将下面的程序编译、连接用 Debug 加载、跟踪然后回答问题 CPU 执行程序程序返回前data 段中的数据为多少? 答:数据没变。先入后出保持了顺序。CPU 执行程序程序返回前cs 076C 、ss 0770 、ds 076F 。设程序加载后code 段的段地址为 X则 data 段的段地址为 X3 stack 段的段地址为 X4 。 题目4 如果将(1)、(2)、(3)题中的最后一条伪指令“end start”改为“end”(也就是说不指明程序的入口)则哪个程序仍然可以正确执行?请说明原因。 答 题目3的代码可以正常执行因为代码段正好在程序开头。CS:IP指向第一行指令。 题目5 程序如下编写 code 段中的代码将 a段和 b 段中的数据依次相加将结果存到c段中。 assume cs:codea segmentdb 1, 2, 3, 4, 5, 6, 7, 8 ; 占16字节 a endsb segmentdb 1, 2, 3, 4, 5, 6, 7, 8 ; 占16字节 b endsd segmentdb 0, 0, 0, 0, 0, 0, 0, 0 ; 占16字节 d endscode segment start: mov ax, amov ds, axmov bx, 0 ; i 0mov cx, 8 ; len 8s: mov al, ds:[bx]add al, ds:[bx16] ; 寄存器不够用用偏移量来定位mov ds:[bx1616], al ; 寄存器不够用用偏移量来定位 inc bx ; iloop s ; i len 循环mov ax, 4c00h int 21h code ends end startc segment 编译不过我就换成了d程序加载后可以看到 CS:IP 指向 076F:0[bx1616] 这种写法在第7章中会详细介绍。 题目6 程序如下编写 code 段中的代码用 push 指令将 a 段中的前 8 个字型数据逆序存储到 b 段中。 assume cs:codea segment ; CS-3dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh ; 占32字节 a endsb segment ; CS-1dw 0,0,0,0,0,0,0,0 ; 占16字节 b endscode segment start: mov ax, amov ds, axmov ax, bmov ss, axmov sp, 10h; 下面实现循环处理mov bx, 0 ; i 0mov cx, 8 ; len 8s: push [bx] ; a 中取出第一个放到 b末尾。压栈是从底往上走的add bx, 2 ; i i2 字类型占两字节loop s ; i len 循环mov ax, 4c00h int 21h code ends end start总结 系统分配内存16字节起步。定义段即可声明内容空间。一回事。知道段的定义顺序又知道它们的大小可以能过偏移量算出各段的位置。
http://www.dnsts.com.cn/news/145103.html

相关文章:

  • 企业网站更新什么内容太原网络公司网站
  • 清丰网站建设电话学校网站开发说明书文档
  • 网址导航网站建设移动网站
  • 专门做游戏交易的网站有哪些地推
  • 建设银行园区公积金管理中心网站建设工程其它费计算网站
  • 苏州市吴中区住房和城乡建设局网站有机玻璃东莞网站建设技术支持
  • 陕西省住房和城乡建设厅综合网站论坛网站怎么做跳转
  • 石家庄网站建设远策科技手机网站 布局
  • 网站设计最新风格公司网页设计的公司
  • 怎么样做兼职网站网站建设销售中遇到的问题
  • 做外贸进大公司网站个人网站怎么设计
  • 网站开发淄博手机h5是什么意思
  • 电子商务网站建设与管理课程的感想官网网站设计
  • 织梦cms怎么做双语网站ui设计案例网站
  • 网站搜索怎么做的福鼎市建设局网站
  • 上海建设网站公司哪家好wordpress标签云404错误
  • 官方网站打不开怎么回事网站建设推广注意什么
  • 网站工程师培训商城网站建设目标
  • 简洁大气企业网站源码广告模板制作
  • 中山网站建设sipocms做任务赚q币网站
  • 找人给公司做网站去哪找为什么需要响应式网站
  • 青岛建站开发厦门市住房建设网站
  • 产品营销型网站建设网站建设费用 百度文库
  • 网站建设研究意义宜都网站制作
  • 中国最大网站建设公司友情链接的作用有哪些
  • 律师怎样做网站学软件技术需要什么基础
  • 提升政务网站建设水平wordpress 分类折叠
  • 个人网站备案能几个wap 网站
  • 网站云模板广告设计与制作流程
  • 高端的食品行业网站开发鹤山做网站公司