![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
汇编
文章平均质量分 61
...
霜序0.2℃
风信子
展开
-
汇编语言 王爽 第四版 实验5
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~实验5 编写、调试具有多个段的程序1编译连接下面程序,用debug加载、跟踪,回答问题。assume cs:code,ds:data,ss:stackdata segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdata endsstack segment dw 0,0,0,0,0,0,0,0stack endscode segmentstart:原创 2021-11-03 22:29:06 · 5635 阅读 · 7 评论 -
汇编语言 王爽 第四版 第六章 检测点6.1
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~检测点6.11下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:assume cs:codesgcodesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h;ip为0,2,4,6,8..start: mov ax,0 mov ds,ax;ds设置为0 mov bx,0 mov cx,8;8次循环s: mov ax,原创 2021-10-30 11:32:51 · 3875 阅读 · 0 评论 -
汇编语言 王爽 第四版 实验4
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~实验4 [bx]和loop的使用1编程,向内存0:200~0:23f依次传送数据0~63(3fh)assume cs:codecode segment mov ax,0 mov ds,ax;设置ds=0 mov bx,200h;设置从200h开始 mov cx,64;循环64次 mov al,0;传送的数据 s: mov [bx],al inc bx inc al loop s mov ax,4c00h原创 2021-10-28 22:48:14 · 10549 阅读 · 18 评论 -
汇编语言 王爽 第四版 实验3
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~实验3要求:将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exeassume cs : codesegcodeseg segment mov ax, 2000H mov ss, ax mov sp, 0 add sp, 4 pop ax pop bx push ax push bx pop ax pop bx mov ax原创 2021-10-27 17:45:20 · 4719 阅读 · 7 评论 -
汇编语言 王爽 第四版 实验2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~实验21首先讲一下,由于实验环境的不同结果可能不一样,我是在windows上面安装了DOSBox指令csipssspdsaxbx初始073f0000073f00fd073f00000000mov ax,ffffffffmov ds,axffffmov ax,22002200mov ss,ax2200原创 2021-10-26 17:04:18 · 3791 阅读 · 4 评论 -
汇编语言 王爽 第四版 第三章 检测点3.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~检测点3.21补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中。mov ax,1000Hmov ds,axmov ax,2000H mov ss,ax mov sp,10h push [0]push [2]push [4]push [6]push [8]push [A]push [C]push [E]我们可以看到给出了ds段寄存器的值,那么后面是pu原创 2021-10-26 14:28:38 · 3530 阅读 · 5 评论 -
汇编语言 王爽 第四版 课后检测点 课后实验 包括解释 持续更新~~
文章目录监测点课后实验持续更新~~,尽量在半年内更新完监测点汇编语言 王爽 第四版 第一章 检测点1.1汇编语言 王爽 第四版 第二章 检测点2.1汇编语言 王爽 第四版 第二章 检测点2.2汇编语言 王爽 第四版 第二章 检测点2.3汇编语言 王爽 第四版 第三章 检测点3.1课后实验windows10 如何使用 debug免费下载,不用积分和C币DOS及其工具(汇编学习).zip汇编语言 王爽 第四版 实验1...原创 2021-10-26 13:39:59 · 28559 阅读 · 12 评论 -
汇编语言 王爽 第四版 第三章 检测点3.1
检测点3.11在DEBUG中,用 d 0:0 lf查看内存,结果如下:0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值指令结果mov ax,1mov ds,axmov ax,[0000]ax= 26原创 2021-10-25 20:29:22 · 6116 阅读 · 13 评论 -
汇编语言 王爽 第四版 实验1
实验1 查看CPU和内存,用机器指令和汇编指令编程1首先将寄存器ax,bx修改为0,然后将cs:ip改成1000:0之后在1000:0开始放指令确认没输错开始执行命令:1-45-89-1213-14查看输入完成没有ip一直在移动,移动的数量和指令所占的字节数量有关2指令:mov ax,1add ax,axjmp 2000:0003...原创 2021-10-25 15:44:54 · 4303 阅读 · 2 评论 -
windows10 如何使用 debug
需要下载两个工具:DOSBox和debug.exe可以从官网下载,百度直接下载也行DOSBox官网DOSBox官方文档也可以在我上传的资源里下载,不用积分和会员的安装的话,无脑下一步即可安装完成后点开如果我们直接输入debug,那么会提示非法命令所以这时候我们还需要debug.exe我们把debug.exe的文件放到C盘的根目录下,然后在DOSBox中挂载它(和linux的挂载一样,不懂的可以不管,但是还是要做这一步)输入mount c c:\然后我们需要在转换到C盘下输入c原创 2021-10-24 20:47:54 · 8781 阅读 · 3 评论 -
汇编语言 王爽 第四版 第二章 检测点2.3
检测点2.3下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?mov ax,bx sub ax,ax jmp ax 解释mov ax,bx : bx寄存器的值赋给ax寄存器,即ax=bxsub ax,ax : 前面的寄存器里面的值减去后面的寄存器里面的值,并保存在ax中jmp ax : 将ax的值赋给ip(指令指针)寄存器一共算4次:原本ip指向mov ax,bx这个指令本身,读取完成后ip寄存器中的值立刻改变,指令尚未执行(上一条指令执行完成)原本i原创 2021-10-24 17:26:01 · 3238 阅读 · 6 评论 -
汇编语言 王爽 第四版 第二章 检测点2.2
检测点2.2给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH 。最小肯定是偏移地址为0,所以段地址左移4位就是了最大肯定是偏移地址为FFFFH,FFFFH+00010H就是结果了有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H 。给定段地址SA,和上面题目差不多,最大肯定是偏移地址为0,即2000H但是最小的话,如果让偏移地址最大,为FFFFH原创 2021-10-23 22:19:48 · 3512 阅读 · 9 评论 -
汇编语言 王爽 第四版 第二章 检测点2.1
写出每条汇编指令执行后相关寄存器中的值。指令值mov ax,62627AX=F4A3Hmov ah,31HAX=31A3Hmov al,23HAX=3123Hadd ax,axAX=6246Hmov bx,826CHBX=826CHmov cx,axCX=6246Hmov ax,bxAX=826CHadd ax,bxAX=04D8Hmov al,bhAX=0482Hmov ah,blAX=6C82Had.原创 2021-10-23 21:37:44 · 3757 阅读 · 1 评论 -
汇编语言 王爽 第四版 第一章 检测点1.1
1.11个CPU的寻址能力为8KB,那么它的地址总线的宽度为131KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 10231KB的存储器可以存储 1024*8=2^13=8192 个bit, 1024个Byte1GB是 1024^3 个Byte,1MB是 1024^2个Byte、1KB是 1024个Byte8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 2^6=64 (KB)、 2^0=1原创 2021-10-23 20:23:49 · 5401 阅读 · 19 评论 -
C语言编译过程
C语言编译过程#mermaid-svg-h9abzbbr3SOXGHkm .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-h9abzbbr3SOXGHkm .label text{fill:#333}#mermaid-svg-h9abzbbr3SOXGHkm .node rect,#mermaid-svg-h9原创 2021-10-21 21:06:38 · 169 阅读 · 0 评论 -
汇编 学习笔记3 段寄存器 CS:IP
https://www.bilibili.com/video/BV1zW411n79C?p=10第十个视频段寄存器8086CPU中有四个段寄存器,分别是CS,DS,SS,ES现在的计算机就不止4个了CS和IPcs和ip是8086中最关键的寄存器cs:代码段寄存器,存段地址ip:指令指针寄存器,存偏移地址在8086启动或者复位(CPU刚开始运作)后,CS = FFFFH, IP = 0000H即最开始是从CS = FFFFH开始读取指令的那么CS和IP怎么改值呢?mov指令不能用,8原创 2021-09-08 16:43:30 · 839 阅读 · 0 评论 -
汇编 学习笔记2
一个典型的CPU由运算器,控制器,寄存器等器件组成内部总线实现CPU内部各个器件之间的联系,外部总线就是地址总线,控制总线等的这些联系CPU和主板上其他器件的联系8086CPU的所有寄存器是16位的16位的CPU一次性最多可以处理16位的数据通用寄存器最大宽度为16位(状态寄存器这些不一定是16位)寄存器与运算器之间的通路是16位8086有20位的地址总线,寻址能力为1M但是内部CPU却是16位所以20位是由两个16位的数据进行加工得来的,可以看一下下图,段地址是16位,偏移地址是1.原创 2021-09-08 15:52:40 · 97 阅读 · 0 评论 -
汇编 学习笔记1
看的是这个:https://www.bilibili.com/video/BV1164y1v7yD?p=5&spm_id_from=pageDriver汇编指令汇编指令是机器指令的助记符,与机器指令一一对应例如:助记符加 INC减 DEC乘 MUL除 DIV每种CPU都有自己的汇编指令集汇编语言分三类汇编指令(机器码助记符)伪指令(由编译器执行)其他指令(由编译器执行)由编译器执行意味着没有对应的机器码总线链接CPU和其他芯片的导线,被称为总线逻辑上分为地原创 2021-09-05 21:47:26 · 528 阅读 · 0 评论