x86汇编从实模式到保护模式 记录思考和习题答案
来源:互联网 发布:禅道数据库配置 编辑:程序博客网 时间:2024/06/05 03:21
开坑汇编, 教材是李忠老师的x86汇编:从实模式到保护模式, 已经读完了第6章, 这本书我很喜欢, 让人有一种看起来不想停下的感觉, 之前能给我这种感觉的教材无一例外都是那些国外著名教材, 比如C++ Primer Plus, 机械工业出版社的那本计算机组成原理,也推荐大家学这些的时候可以看看.
之前看书不管不顾, 看过之后好多细节都已经忘了, 被人问起来一脸懵逼, 要现去翻半天书才能讲讲明白, 而且看书过程中自己有许多有疑惑的地方要边看边百度, 有时百度并不能找到那么细枝末节的地方, 就那么过去了, 所以这本书开始我就开个博客记录自己看书过程中的疑惑和书中作者给出的思考和习题解答, 督促自己看书认真同时也可能可以方便到别人, 挺好的.
先贴个刚刚写完的第6章习题1,2
;第6章习题1,2 ;文件名:c06_1.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2017-10-04 16:57 jmp near startdata1: db 0x05,0xff,0x80,0xf0,0x97,0x30data2: dw 0x90,0xfff0,0xa0,0x1235,0x2f,0xc0,0xc5bcstart: mov ax,0x07c0 ;设置数据段基地址 mov ds,ax mov ax,0xb800 ;设置附加段基地址 mov es,ax mov dx,0 ;dh和dl分别计正数和负数个数 mov cx,6 ;循环6次 mov bx,data1 mov si,0lop1: cmp byte [bx+si],0x00 jg plus inc dl ;不大于0的计数,如果大于0,jg指令会跳过这句 plus: inc si loop lop1 mov dh,0x06 sub dh,dl add dh,0x30 add dl,0x30 mov [es:0x00],dh mov [es:0x06],dl mov dx,0 ;这段和上面基本是一样的 mov cx,7 mov bx,data2 mov si,0lop2: cmp byte [bx+si],0x00 jg plus2 inc dl plus2: inc si loop lop2 mov dh,0x07 sub dh,dl add dh,0x30 add dl,0x30 mov [es:0x0C],dh mov [es:0x10],dl jmp near $times 510-($-$$) db 0 db 0x55,0xaa
注意题中数字没有0, 所以这里用的jg指令比较数字是否大于0, 如果题中数字包含0的话, 还需要加上判断是否等于0.
本页中还有一个思考题(p97), xor dx,dx
之后标志位变化为SF=0, PF=1, ZF=1. 原因是指令执行后dx=0x00000000 00000000, ZF零标志当然为1, 低八位中”1”有0个, 偶数, PF=1, 最高位为比特”0”, SF=0.
习题3:
mov cx,0delay: loop delay
将执行ffff次或者理解为死循环, 因为当遇到loop语句时, 是先cx减一, 在判断ZF标志位是否为1的, 所以cx初值为0时, 第一次遇到loop时, cx减一变成-1, 之后不停减一, 直到减一圈回到0才会停下.
阅读全文
0 0
- x86汇编从实模式到保护模式 记录思考和习题答案
- x86从实模式到保护模式学习记录之Bochsdbg
- 《X86汇编语言:从实模式到保护模式》读书笔记之引言
- X86汇编语言从实模式到保护模式(一)
- 《x86汇编语言:从实模式到保护模式》读书笔记之后记
- x86从实模式到保护模式实验说明
- 页目录项和页表项——《x86汇编语言:从实模式到保护模式》读书笔记43
- 从实模式到保护模式
- 第15章习题解答(一)——《x86汇编语言:从实模式到保护模式》读书笔记40
- 第15章习题解答(二)——《x86汇编语言:从实模式到保护模式》读书笔记41
- 任务和特权级保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记27
- 任务和特权级保护(二)——《x86汇编语言:从实模式到保护模式》读书笔记32
- 任务和特权级保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记34
- 任务和特权级保护(四)——《x86汇编语言:从实模式到保护模式》读书笔记35
- 任务和特权级保护(五)——《x86汇编语言:从实模式到保护模式》读书笔记36
- 进入保护模式(一)——《x86汇编语言:从实模式到保护模式》读书笔记12
- 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14
- 进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
- c++知识点---文件的简单读写
- SpringMVC拦截器(资源和权限管理)
- 7.查询性能优化
- linux运维面试必备
- 购物车加减(bootsrap)
- x86汇编从实模式到保护模式 记录思考和习题答案
- Given an array of non-negative integers, you are initially positioned at the first index of the arra
- 慢查日志(二)
- 为什么要使用SLF4J而不是Log4J
- 栈的应用,括号匹配,后缀表达式计算,有趣的汉诺塔--python实现
- PL/SQL之二 异常处理
- [Haskell] CodeWars|Sum of Digits
- Redis Jedis 之 Sharded 源码分析
- MySQL查询效率问题