汇编语言(王爽 第三版)检测点
这本书购于2015.11.30,我大概从2016.3月开始读,历时大概三个月,我们学校开《微机原理与汇编语言》这门课,不过让人感觉很不爽,课本一开始就丢给你一堆东西,意欲让你记住这一大堆东西,然后开始编程,我对编程语言的学习方面要求比较高,所以开始读这本王爽老师写的汇编语言,目前为止,这本书给我的感觉就是,你能学到很多底层的东西,尤其是像键盘的读写原理,屏幕的显示,特别是对内存的操作和管理,不像课本上给你一个中断让你就能显示字符之类的,它会一步一步教你怎么把要显示的东西写到显存里面,这本书显得比较浅显易懂,让人感觉不错,特别是读了这本书再去看那些难度较高的汇编代码及微机原理,效率会高很多,下面是我读这本书的过程中对书中检测点的解答,仅代表个人观点。
第一章 检测点1.1 1) 13(8kb = 8 * 1024 = 2^13) 2) 1024 0 10233) 8*1024 1024(1 byte = 8 bit,计算机以byte为存储单位)4) 1024^3 1024^2 10245) 2^6 1 2^4 2^2(kb = 2^10 Mb = 2^20 Gb = 2^30)6) 1 1 2 2 47) 512 256(8086的寄存器为16位寄存器,一次可以读取两个字节,80386为32位寄存器)8) 二进制
第二章 检测点2.1 1) AX = F4A3h AX = 31A3h AX = 3123h AX = 6246h BX = 826Ch CX = 6246h AX = 826Ch AX = 04D8h AX = 0482h AX = 6C82h AX = D882h AX = D888h AX = D810h AX = 6246h2) mov ax,2 add ax,ax add ax,ax add ax,ax检测点2.2 1)00010h 1000fh(0001h+0000h 0001h+ffffh)2)1001h 2000h(偏移地址的范围为0000-ffff,内存单元=段地址*16+偏移地址,当偏移地址最小时,段地址最大,偏移地址最大时,段地址最小)检测点2.3 4次修改IP,最后IP为0
第三章 检测点3.1 1) mov ax,1 mov ds,ax mov ax,[1000] AX = 2662h mov bx,[1001] BX = E626h mov ax,bx AX = E626h mov ax,[0000] AX = 2662h mov bx,[0002] BX = D6E6h add ax,bx AX = FD48h add ax,[0004] AX = 2C14h mov ax,0 AX = 0000h mov al,[0002] AX = 00E6h mov bx,0 BX = 0000h mov bl,[000C] BX = 0026h add al,bl AX = 000Ch2) CS = 2000h,IP = 0,DS = 1000h mov ax,6622h AX = 6622h jmp 0ff0:0100h CS = 0ff0 IP = 0100h mov ax,2000h AX = 2000h mov ds,ax DS = 2000h mov ax,[0008] AX = C389h mov ax,[0002] AX = EA66h mov ax,6622h AX = 6622h 数据和程序表达上没有区别,只跟存储的地方有关,存在数据段中即为数据,存在程序段中就是程序检测点3.2 1) mov ax,2000h mov ss,ax mov sp,10h2) mov ax,1000h mov ss,ax mov sp,0
第六章 检测点6.1 1) mov cs:[bx],ax2) cs 26或1ah pop cs:[bx]
第九章 检测点9.1 1) db 8 dup (0)2) offset start cs 3) CS = 0006h IP = 00BE检测点9.2 mov cl,[bx] mov ch,0 jcxz ok inc bx检测点9.3 inc cx(因为loop s执行时是先将cx减一再与0比较)
第十章 检测点10.1 1000 0000检测点10.2 ax = 3检测点10.3 ax = 1006检测点10.4 ax = 9 (call ax时将IPpush到栈中,也就是push 3)检测点10.5 1) ax = 3 2) ax = 0001 bx = 0000
第十一章 检测点11.1 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1 0 检测点11.2 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 11 1 0 1 11 0 0 0 01 0 0 0 00 1 1 0 1检测点11.31)jna s0jna s02)jb s0jb s0检测点11.4ax = 0871h
检测点12.1 1) 039D:00162) 0000:[4N] 0000:[4N+2]
检测点13.1 assume cs:code,ds:datadata segmentdb 'conversation',0data endscode segment start: mov ax,csmov ds,axmov si,offset showmov ax,0mov es,axmov di,200hmov cx,offset showend-offset showcldrep movsbmov ax,0mov es,axmov word ptr es:[7ch*4],200hmov word ptr es:[7ch*4+2],0mov ax,datamov ds,axmov si,0mov ax,0b800hmov es,axmov di,12*160s: cmp byte ptr [si],0je okmov al,[si]mov es:[di],almov al,2mov es:[di+1],alinc siadd di,2mov bx,offset s-offset okint 7chok: mov ax,4c00hint 21h show: push bpmov bp,spadd [bp+2],bxpop bpiret showend:nopcode endsend start 检测点13.2 1) 错误,不能向BIOS中写程序 2) 错误,19h中断在操作系统以前,而DOS由操作系统控制即在操作系统以后
检测点14.1 1) mov al,2 out 70h,al in al,71h 2) mov al,0 out 71h,al mov al,2 in 70h,al 检测点14.2 在不考虑溢出的情况下: mov ax,__ mov bx,ax shl bx,1 mov cl,3 shl ax,cl add ax,bx
第十五章 检测点15.1 1) pushf call dword ptr ds:[0]2) 在中断向量表中设置新的int9中断入口地址的时候不让其发生中断,即 cli mov word ptr es:[9*4],offset int9 mov word ptr es:[9*4+2],cs sti 恢复中断向量表int9的源地址时同理: cli push ds:[0] pop es:[9*4] push ds:[2] pop es:[9*4+2] sti
第十六章 检测点16.1 a[si] b b 1 检测点16.2 mov ax,data mov es,ax
第十七章 检测点17.1 IF = 1 DI(disable interupt) IF = 0 EI(enable interupt) 当执行int16中断时是从缓冲区中读出字符,若缓冲区为空,则int16应该可以响应int9的中断,故IF不一定为1
转载于:https://www.cnblogs.com/monster-prince/p/5525220.html
汇编语言(王爽 第三版)检测点相关推荐
- 汇编语言(王爽 第三版)检测点9.1 解决-a无法输入jmp dword ptr es:[1000h]
第一个: assume cs:code,ds:data data segmentdb 0h data ends code segment start:mov ax,datamov ds,axmov b ...
- 汇编语言王爽第三版答案
汇编语言答案(王爽) 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位. (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 . (3) ...
- 【汇编语言】王爽第三版----------------检测点3.1
检测点3.1: (1)在Debug 中,用"d 0:0 1f" 查看内存,结果如下: 0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 6 ...
- 汇编语言(王爽 第三版) ret retf总结 以及检测点10.1
关键导读: ret对应的代码以及结果: assume cs:codesgstack segmentdb 16 dup(0) stack endscodesg segmentmov ax,4c00hin ...
- 汇编语言(王爽第三版)实验一
实验一 题目预览 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后的CPU中相关寄存器中内容的变化. 将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方 ...
- 汇编语言(王爽第三版)实验大全
实验大全 实验1 查看CPU和内存,用机器指令和汇编指令编程 实验2 用机器指令和汇编指令编程 实验3 编程.编译.连接.跟踪 实验4 [bx]和loop的使用 实验5 编写.调试具有多个段的程序 实 ...
- 汇编语言 王爽 第四版 第三章 检测点3.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点3.2 1 补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中. mov ax,1 ...
- 汇编语言(王爽第三版) 实验5
汇编语言(王爽第三版) 实验5 由图可见: 第一问:cpu执行程序,程序返回前,ds一直未变,所以data段中的数据不变. 第二问:cpu执行程序,程序返回前,cs=1CD5,SS=1CD4,DS=1 ...
- 汇编语言 王爽 第四版 第二章 检测点2.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点2.2 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH . 最小肯定是偏移地址为0, ...
最新文章
- linux批量管理矿机,华硕最新的挖矿主机板可以一次控制 20 个 GPU
- Linux命令:模拟电信联通双网络智能解析域名
- 五边形创意画_绝了,自己做吊灯,创意满满!不仅好看还省钱!
- 【收藏】Harbor私有仓库中如何彻底删除镜像释放存储空间:vmware/registry:2.6.2-photon进行垃圾回收
- GET_ROLE_BASED_PAGE_USAGES
- win7本地连接不见了的修复方法
- devexpress 打印一个form界面_通过回车键提交form表单时,你是否注意过这些问题?...
- Java编程:分治算法
- 经典场效应管如何快速关断技巧-KIA MOS管
- 一级导航,二级导航,三级导航介绍
- java openxml word_使用OpenXML操作Office文档
- 选择重新做程序员 作者:Pisces Lee
- 你一定会用到的SolidWorks快捷键汇总大全
- jenkins下载插件慢
- 《Pro SQL Server Internals, 2nd edition》节选翻译(一)
- 长城信息IPO过会:年营收13.4亿 中国电子控制77%股权
- WR703N修砖记 --- 刷机有风险, 折腾需谨慎
- 【大厂面试】面试官看了赞不绝口的Redis笔记
- frp构建多级网络代理
- 如何迁移outlook邮件到另一个硬盘_移动Outlook数据文件新计算机|迁移Outlook邮件到新计算机...