王爽《汇编》检测9.1(1) | 若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?

;监测点9.1(1)
assume cs:code
data segment
    db 8 dup(0)
data ends

code segment
    start:
    mov ax,data ;这一段一定要补上
    mov ds,ax

    mov bx,0
    jmp word ptr [bx]

    mov ax,4c00h
    int 21h
code ends
end start

这里一开始无法理解题目的 ‘’   [bx+1]    “,是什么意思,然后自己还一根经的认为应该是 ” [bx] “(后来才知道这里都是一样的,他们都是0写道8也没关系),然后自己上级实验也是一头雾水,万分感谢 ”美好的一天“师傅,原来是自己“ mov ax,data ”没敲,蠢哭了,糗到爆。

原文地址:https://www.cnblogs.com/chrysanthemum/p/11577711.html

时间: 2024-11-09 04:45:13

王爽《汇编》检测9.1(1) | 若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?的相关文章

王爽汇编笔记

  第一章 内存地址空间的地址段分配 地址:0~7FFFH的32kb空间为主随机存储器的地址空间 地址:8000~9FFFH的8kb空间为显存地址空间 地址:A000~FFFFH的24kb空间为各个rom的地址空间   第二章 进入DOS模式 重新启动计算机,进入DOS模式,此时进入的是实模式的DOS 在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS   使用命令 -R 查看寄存器内容 -R 寄存器 可以修改寄存器的内容 -D查看内存中的内容 –D 段地址:偏移地址 输入后

王爽汇编10.12

;10.12 assume cs:code,ds:data data segment db 'word',0 db 'unix',0 db 'wind',0 db 'good',0 data ends code segment start : mov ax,data mov ds,ax mov si,0 mov di,16 mov cx,4 s: call cap inc si loop s MOV AX,4C00H INT 21H cap: push cx tip: mov cl,[si] m

王爽汇编实验九

1 ;实验九 2 assume cs:code,ds:data 3 data segment 4 db 'welcome to masm!' 5 data ends 6 7 code segment 8 start : 9 mov ax,data 10 mov ds,ax;定义数据段 11 12 mov ax,0B800h 13 mov es,ax;定义显示段 14 15 mov cx,16 16 mov si,0 17 mov di,10*160+80 ;将输出显示放在第10行中间 18 19

王爽汇编实验十一

;实验11 ;把小写字母换成大写字母 assume cs:code , ds:data data segment db "Beginner's All-purpose Symbolic Instruction Code.",0 data ends code segment start: mov ax,data mov ds,ax mov si,0 call letterc mov ax,4c00h int 21h letterc: push ax push si fun: mov al

王爽汇编实验(三)

王爽汇编浅显易懂,虽然前面两个实验都做完了,但是都是吊儿郎当做完的. 看到第三次实验比较好写心得,就写了. 原码如下,用提到的LINK.EXE和MASM.EXE进行编译链接操作. assume cs:codesgcodesg segmentmov ax,2000Hmov ss,axmov sp,0add sp,10pop axpop bxpush axpush bxpop axpop bx mov ax,4c00Hint 21Hcodesg endsend 首先是用debug 跟踪t1.exe执

王爽 汇编 检测点10.4

一.要求 二.上机调试 1.debug调试开始,首先查看反编译后的汇编代码(假设ob38就是段地址1000) 2.执行第一条指令mov ax,6 3.执行第二条指令call ax,也就是call 6(我们知道,对于call 16位reg格式来说,相当于push ip:jmp 16位reg.) 执行了call ax,会将它的下一条指令的压入栈中也就是5压入栈中,软后跳转到ip=6的地方 此时ip=6 ,sp=fffe,查看栈中的数据 4.执行mov bp,sp,栈顶地址赋值给bp寄存器 5.执行a

跟我学汇编(二)王爽汇编环境搭建

这一次我们来讲解一下如何在window上搭建一个王爽教材中所用的汇编环境.王爽的书中用的是8086CPU,现在的CPU肯定是不一样啦,所以我们使用虚拟机来模拟一下. 一.下载系统 我们采用MS-DOS7.10系统,这里我提供一个免费的下载地址http://download.csdn.net/detail/xingjiarong/9428514,上次我看到了一个哥们的环境搭建过程,搭建好系统下载竟然要5个积分,我一气之下就自己动手搭建一个.这里下载之后是一个DOS的IOS文件,下面我们就来安装这个

王爽汇编第三版检测点10.5

(1)下面的程序执行后,ax 中的数值是多少? 1 assume cs:code 2 stack segment 3 dw 8 dup (0) 4 stack ends 5 code segment 6 start: mov ax,stack 7 mov ss,ax 8 mov sp,16 9 mov ds,ax 10 mov ax,0 11 call word ptr ds:[0] 12 inc ax 13 inc ax 14 inc ax 15 mov ax,4c00h 16 int 21h

王爽 汇编 实验10.1

一.实验要求 二.代码实现 1 assume cs:code,ds:data 2 3 data segment 4 db 'welcome to masm!',0 5 data ends 6 7 code segment 8 start: mov dh,8 ;定义行(0-24) 9 mov dl,3 ;定义列(0-79) 10 mov cl,2 ;定义颜色 11 mov ax,data 12 mov ds,ax 13 mov si,0 ;指向字符串的首地址 14 call show_str ;调