2.cs:ip和ss:sp

本文解析了计算机内存管理中CS:IP与SS:SP的作用,阐述了它们如何确定指令和数据的位置。CS:IP指向当前执行的指令,而SS:SP指向栈顶的数据,通过具体实例展示了指令和数据在内存中的存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

                                          cs*16+ip=内存地址

 cs*16+ip即为内存地址,用r命令改变cs,ip所指向的内存地址

 

                                  指向的内存地址变为 1000:0000,

  a命令写入指令

 t命令执行cs:ip中的命令

ss:sp指向栈顶原素

                             

 1000:0中存入psuh ax ,1000:0001中存入pop bx

 t命令逐命令执行

总结:被cs:ip所指的内存块,存的是命令

被ss:sp所指的内存块,存的是数据

. 多选题(共1题,60分) 1. (多选题, 60分) 建立源程序文件sy31-1.asm并编译连接后用Debug装入可执行文件 Data segment x1 db 1ah y1 db 2bh x2 dw 1234h y2 dw 0abcdh Data ends Stack segment para stack Db 10h dup(0) Stack ends Code segment Assume cs:code,ds:data,ss:stack Start: mov ax,data Mov ds,ax Mov ah,x1 Mov al,y1 Mov bx,x2 Add bx,y2 Push bx Push ax Code ends End start 以下内容正确的是: A 在Dosbox下用如下命令建立源程序文件:edit sy31-1.asm B 用如下命令编译并产生目标文件:masm sy31-1.asm C 用如下命令连接并产生可执行文件:link sy31-1.obj D 用如下命令装入内存:debug sy31-1.exe E 在debug下用R命令观察到DS的值是075A,说明数据段起始于075A:0000 F 在debug下用R命令观察到SP的值是0010,说明栈底单元偏移量是0010 G 用R命令观察到SS值为076B,则堆栈段可以用如下命令查看:D076B:0 H 用U命令可以查看内存中的汇编指令,通过第一条指令可以知道数据段的段基址 二. 填空题(共1题,40分) 2. (填空题, 40分) 建立如下源程序 Data segment Org 0004h NUM DB 75H ARRAY DW 4H DUP(0) ADR1 DW NUM ADR2 DD NUM ADR3 DW ARRAY[2] Data ends Stack segment para stack Db 10h dup(0) Stack ends Code segment Assume cs:code,ds:data,ss:stack Start: mov ax,data Mov ds,ax Mov ax,adr1 此指令运行后ax= (1) (4位16进制数,不带H) Mov bx,adr3 此指令运行后bx= (2) (4位16进制数,不带H) Code ends End start 若数据段段基址是076A,变量ADR2中的高字是 (3) ,低字是 (4) (格式同上)
03-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值