《x86汇编语言从实模式到保护模式》百度网盘pdf最新全集下载:
链接:>pwd=t6os 提取码:t6os
简介:《x86汇编语言:从实模式到保护模式》采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,
以大量的代码演示了16/32/64位软件的开发方法,介绍了处理器的16位实模式和32位保护模式,以及基本的指令系统。
《x86汇编语言:从实模式到保护模式》是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、
Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。《x86汇编语言:从实模式到保护模式》可作为大专院校相关专业学生和计算机编程爱好者的教程。
《x86 PC汇编语言、设计与接口(原书第5版)》 作者:高升 ;《16/32位微机原理、汇编语言及接口技术教程》 作者:钱晓捷编著 ; 《32位汇编语言程序设计》 作者:钱晓捷编著 ;《80386/486系统编程实践》 作者:吕晓庆编 ;《微型计算机从8086到80386》 作者:周明德 ,我找到这几本的pdf,是你找的那几本么?
1将AX中的值以十六进制形式显示。
要求:主程序利用寄存器把AX的值传送给子程序。
在子程序中将AX中的值以十六进制形式显示。
=====================================
DATA SEGMENT
D1 DW 13276 ;数: 0~65535
DATA ENDS
;------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;------------------------------
MOV AX, D1 ;取来数字
CALL DISP_AX
MOV DL, 'H'
MOV AH, 2
INT 21H ;输出H
;------------------------------
MOV AH, 4CH
INT 21H ;返回DOS
;------------------------------
DISP_AX:
MOV BX, 16 ;16进制,要除16
MOV CX, 4 ;求4位16进制数
ABC:
CWD ;将AX扩展到DX
DIV BX
PUSH DX ;保存余数到堆栈
LOOP ABC
MOV CX, 4 ;显示4位
ASD:
POP DX
CMP DL, 10
JB A48
ADD DL, 7
A48:
ADD DL, 48
MOV AH, 2
INT 21H ;输出
LOOP ASD
RET
;------------------------------
CODE ENDS
END START
===========================
2编写子程序,完成的功能是将DL中的2位十六进制数转换为对应ASCII码。
说明:入口参数AL=待转换的2位十六进制数
出口参数DX=转换后的ASCII码,(高字节对应高位、低字节对应低位)
举例:若AL=2AH,则DX=3241H。
0----9转换为30H----39H +30H
A---F转换为41H----4FH +30H+7H
;------------------------------
AL_ASC_DX:
MOV AH, 0 ;要除16
MOV CL, 16 ;求16进制数
DIV CL
CMP AL, 10
JB A48
ADD AL, 7
A48:
ADD AL, 48
MOV DH, AL
CMP AH, 10
JB A482
ADD AH, 7
A482:
ADD AH, 48
MOV DL, AH
RET
;------------------------------
1先看,王爽《汇编语言》 ,适合初学者,讲得浅显易懂。
2再看,《80X86汇编语言程序设计教程》,这本书很好。讲得系统全面。
或者看,IBM-PC汇编语言程序设计(第2版)
3如果最想做点实用的,最后看,罗云彬的《windows32环境下汇编语言设计》,这本书,现在第三版,叫做《琢石成器》,很好的,电子工业出版社。
这三本都是不同阶段的经典教材。 这三本书从薄到厚,《琢石成器》有七百多页。希望这位仁兄注重基础,一步一个脚印。。不要急于求成。
至于学习经验,哈哈,编程就是多实践,光看书,是不会找到实践的那种感觉的。一定要多做东西。从制作和创造中寻找快乐,等有一点基础之后,可以多和别人交流。。。。
下面是一份 x86-64 汇编代码段,可以实现将 RDX 和 RAX 中的 128 位数据逻辑左移一位(即将高位移到低位,低位填 0)的功能。代码中使用了 64 位寄存器 RDI 来存储左移 *** 作的结果。
; 将 RDX 和 RAX 中的 128 位数据逻辑左移一位,结果存放在 RDI 中
; 参数:无
; 返回值:无
section text
global _start
_start:
; 将 RAX 的最高位保存到 CF 标志位中
shr rax, 63
; 将 RDX 的最高位保存到 RAX 的最低位,并将 RAX 的最高位保存到 CF 标志位中
rcl rdx, 1
; 将 RAX 的最低位保存到 RDX 的最高位
rcr rax, 1
; 将 RDI 中的数据清零
xor rdi, rdi
; 将 RDX 和 RAX 中的数据合并,存储到 RDI 中
or rdi, rdx
or rdi, rax
; 程序结束
mov eax, 1
xor ebx, ebx
int 0x80
代码中使用了 shr(算术右移)和 rcl(循环左移)指令将 RAX 和 RDX 中的数据逻辑左移一位,并将结果存储到 RDI 中。其中,shr rax, 63 的作用是将 RAX 中的最高位保存到 CF 标志位中;rcl rdx, 1 的作用是将 RDX 中的最高位保存到 RAX 的最低位,并将 RAX 的最高位保存到 CF 标志位中;rcr rax, 1 的作用是将 RAX 的最低位保存到 RDX 的最高位。最后,使用 or 指令将 RDX 和 RAX 中的数据合并,并存储到 RDI 中。
需要注意的是,在本示例中,假设 RAX 和 RDX 中的数据都是无符号整数。如果数据是带符号的,需要考虑符号扩展的问题。此外,代码中也没有进行错误处理,如果输入的数据不符合要求,程序可能会出现异常行为。
以下是一种基于x86架构的汇编语言(NASM)实现:
Copy code
section data
result db 1 ; 初始化结果为1
section text
global _start
_start:
mov ecx, 10 ; 使用ecx寄存器计数
cmp ecx, 0 ; 检查10是否为0,是则跳过循环
je done
loop:
mul byte[result] ; 乘以目前的结果
dec ecx ; 计数器减1
cmp ecx, 0 ; 如果计数器为0,则跳出循环
jne loop
done:
; 结束程序
mov eax, 1 ; 系统调用号1代表退出
xor ebx, ebx ; 返回值为0
int 0x80 ; 执行系统调用
以上程序将10的阶乘计算在result变量中。由于10的阶乘为一个很大的数,需要使用一个64位变量来保存结果,但由于使用了单字节变量作为示例,仅适用于小型数据输入。
汇编语言教材很多,各种处理器都有涉及,粗略统计不下百种。在这么多的教材里,用得较多的可以分类列举如下: 1《x86汇编语言:从实模式到保护模式》,李忠著,电子工业出版社,2013-1 。
基于INTEL x86处理器、NASM编译器和BOCHS虚拟机。汇编语言就是处理器的语言,从这个意义上来说,既然学习汇编语言,就必须直接面向硬件编程,而不是使用莫名其妙的DOS中断和API调用。这是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。
我们知道,32位和64位是主流,实模式和DOS *** 作系统已经成为历史,Linux和Windows都工作在保护模式下。这本书从实模式讲到32位保护模式,尤其以32位保护模式为重点,阅读本书,对理解现代计算机和现代 *** 作系统的工作原理有非常大的帮助作用。
2《汇编语言》(第2版),王爽 著,清华大学出版社,2013-4-1
基于INTEL 8086处理器、MASM编译器,以及DOS平台的汇编教材,完全以8086处理器的实模式为主,不涉及常用的32位和64位模式,但因为通俗易懂,读者反映很好。
3《80X86汇编语言程序设计教程》,杨季文等 编著,清华大学出版社,1999-3-1
基于INTEL x86处理器、MASM和TASM编译器,包含16位实模式和32位保护模式的内容,而且对后者讲述较为详细。
4《32位汇编语言程序设计》,钱晓捷 编著,机械工业出版社,2011-8-1
基于INTEL x86处理器、MASM编译器,以及WINDOWS平台的汇编教材。
5《16/32位微机原理汇编语言及接口技术》,钱晓捷,陈涛编著,机械工业出版社,2005-2-1
基于INTEL x86处理器,论述16位微型计算机的基本原理、汇编语言和接口技术,并引出32位微机系统相关技术。
6《Intel汇编语言程序设计》(第五版),(美)欧文 著,电子工业出版社,2012-7-1
基于INTEL x86处理器、MASM编译器,以及DOS/WINDOWS平台的汇编教材,既有16位实模式的内容,也有32位保护模式的内容。
7《汇编语言的编程艺术》(第2版),(美)海德 著,清华大学出版社,2011-12-1
基于INTEL x86处理器,使用了作者自制的高级语言汇编器(High Level Assembler,HLA)作为教学工具,以部分地获得高级语言的优势和功能。
8《x86 PC汇编语言、设计与接口》(第五版),(美)马兹迪,考西著,电子工业出版社,2011-1-1
基于INTEL x86处理器,既讲了16位实模式的内容,也讲了32位保护模式的内容,对64位也有所介绍。 1《汇编语言程序设计--基于ARM体系结构》(第2版),文全刚等主编,北京航空航天大学出版社,2010-8-1
基于ARM体系结构的处理器,是学习嵌入式技术的入门教材。
2《零基础学AVR单片机》,徐益民等编著,机械工业出版社,2011-1-1
单片机概述、avr单片机的开发工具、avr单片机c语言、atmega16单片机基本结构、avr的指令系统与汇编系统等。
3《基于Multisim10的51单片机仿真实战教程》,聂典,丁伟主编,电子工业出版社,2010-2-1
阐述了NI Multisim 10在单片机仿真中的各项主要功能。
4《PIC18微控制器:体系结构、编程与接口设计》,(美)贝里著,清华大学出版社,2009-4-1
微控制器广泛应用于汽车、家电、工业控制、医疗设备等众多领域。本书以Microchip公司的PIC18系列微控制器为例,全面讲解如何使用C语言和汇编语言对微控制器进行编程。
5《CASL汇编语言程序设计》,赵立辉编著,中国电力出版社,2002-10-1
CASL汇编语言是中国计算机软件专业技术资格和水平考试高级程序员级的必考内容。本书是讲述CASL汇编语言程序设计的专著。
《一步一步学习linux汇编语言程序设计》,最好的一本,但是只有英文版,网上能下载到电子书,国内没有出版的。
纸质的书目前只有一本,郑州大学出版社出版的《基于Linux系统的汇编语言程序设计》。
以上就是关于《x86汇编语言从实模式到保护模式》pdf下载在线阅读全文,求百度网盘云资源全部的内容,包括:《x86汇编语言从实模式到保护模式》pdf下载在线阅读全文,求百度网盘云资源、求汇编语言方面的电子书,我在网上找不到了,请麻烦有的发到我的邮箱里面,谢谢咯!、汇编语言 子程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)