鱼C论坛

 找回密码
 立即注册
查看: 3493|回复: 1

[汇编作业] 监测点10.4-10.5

[复制链接]
发表于 2019-10-26 07:53:10 | 显示全部楼层 |阅读模式

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

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

x
监测点10.4
  1. mov ax,6    ;ax=6
  2. call ax     ;sp=-2,ip=6
  3. inc ax   
  4. mov bp,sp   ;bp=-2
  5. add ax,[bp] ;ds:[bp]=05;ax=11
复制代码

监测点10.5
1.
  1. assume cs:code
  2. stack segment
  3. dw 8 dup(0)
  4. stack ends
  5. code segment
  6. start:
  7.     mov ax,stack            ;将栈值赋值给ax
  8.         mov ss,ax               ;ss=栈段地址
  9.         mov sp,16               ;sp=16
  10.         mov ds,ax               ;ds=栈段地址
  11.         mov ax,0                ;ax=0
  12.         call word ptr ds:[0eh]  ;ds:[0eh]指向本身,00为nop像下执行
  13.         inc ax                  ;ax=1
  14.         inc ax                  ;ax=2
  15.         inc ax                  ;ax=3
  16.         mov ax,4c00h
  17.         int 21h
  18. code ends
  19. end start
复制代码

执行后ax=3

2.
  1. assume cs:code
  2. data segment
  3. dw 8 dup(0)
  4. data ends
  5. code segment
  6. start:
  7.     mov ax,data                    ;将data赋值给ax
  8.         mov ss,ax                      ;栈的段地址为data
  9.         mov word ptr ss:[0],offset s   ;将标号s赋值给数据单元0处以字的形式
  10.         mov ss:[2],cs                  ;将当前cs段地址赋值给数据单元2处
  11.         call dword ptr ss:[0]          ;取出ip为ss[0]处的偏移地址,cs为ss[2],也就是指向标号s处
  12.         nop
  13.         s:
  14.         mov ax,offset s                ;ax=s处标号值
  15.         sub ax,ss:[0ch]                 ;这里是ax-0
  16.         mov bx,cs                      ;bx为cs
  17.         sub bx,ss:[0eh]                ;这里是bx-0
  18.         mov ax,4c00h
  19.         int 21h
  20. code ends
  21. end start
复制代码

这里bx为cs段地址的值,ax为标号的值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-28 17:37:37 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-11 01:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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