Assembly
visayafan
这个作者很懒,什么都没留下…
展开
-
中山大学汇编语言教程(迅雷下载)
http://hi.baidu.com/hxhack_com/blog/item/ebedf71f120b5fc3a6866915.html中山大学汇编语言教程(迅雷下载)中山大学汇编语言教程01 thunder://QUFmdHA6Ly8yMTAuNTEuMTgwLjI1Mi9iYnMvY29tcHV0ZXIv1tDJvbTz0ae747Hg0+/R1L3Ms8wwM原创 2010-05-30 18:16:00 · 4450 阅读 · 0 评论 -
保护模式下寻址
保护模式下寻址2009年08月25日 星期二 10:20段机制轻松体验内存寻址:实模式下的内存寻址:让我们首先来回顾实模式下的寻址方式段首地址×16+偏移量 = 物理地址为什么要×16?因为在8086CPU中,地址线是20位,但寄存器是16位的,最高寻址64KB,它无法寻址到1M内存。于是,Intel设计了这种寻址方式,先缩小4位成16位放入到段寄存器,用到时候,再将其扩大到20位,这也造成了段的首地址必须是16的倍数的限制。公式:xxxx:yyyy保护模式下分段机制的内存寻址:分段机制是利用一个称作段选择原创 2010-05-31 17:33:00 · 1063 阅读 · 0 评论 -
汇编笔记--操作项
属性操作符:1.PTR 本身并不存储器,只是用来给已分配的存储地址赋予另一种属性,使该地址具有另一种类型。 type PTR expression 其中type指明类型 可以是byte word dword FWORD QWORD TWORD near far,expression是被取代的符号地址 举例: TWO_BYTE DW ? ONE_BYTE EQU BYTE PTR TWO_BYTE 这样这个地址便有了属性 举例: MOV [SI],1;错误,不能原创 2010-07-30 10:51:00 · 987 阅读 · 0 评论 -
汇编笔记--循环
<br />;统计一个256个字节的内存块中一共有多少个1,并存储在一个名为COUNT的字中DATA SEGMENT BUF DB 12H,23H,…… COUNT DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,CODE MOV DS,AX XOR BX,BX MOV CX,256 LEA SI,BUFREP0: MOV DH,7REP1: CMP [SI],0原创 2010-07-30 23:23:00 · 661 阅读 · 0 评论 -
时钟
<br />extrn music:far,gensound:far;******************************************************;* 堆栈段 .286;******************************************************STACK_SEG SEGMENT STACK STACK_BUF DW 120 DUP(?) TOP EQU $-原创 2010-08-23 01:55:00 · 895 阅读 · 0 评论 -
LIMIT=limit*4k+0fffh
<br />G=0时:<br />limit=0 则末地址就是基地址,整个段大小为1B<br />limit=0fffffh,则末地址为基地址base+0fffffh,整个段大小为1M<br /> <br />G=1时:<br />limit=0 则末地址为基地址base+0fffh,整个段大小为4K<br />limit=0fffffh 则末地址为基地址base+4G-1,整个段大小为4G<br /> <br />公式LIMIT=limit*4k+0fffh,则当limit=0时LIMIT=0fffh,末原创 2010-08-25 22:35:00 · 1734 阅读 · 0 评论 -
【汇编】代码段、数据段、堆栈段及向上增长和向下增长
代码段(正文段)(TEXT)代码段就是存储程序文本的,所以有时候也叫做文本段,指令指针中的指令就是从这里取得。这个段一般是可以被共享的,比如你在Linux开了2个Vi来编辑文本,那么一般来说这两个Vi是共享一个代码段的,但是数据段不同(这点有点类似C++中类的不同对象共享相同成员函数)。 数据段(DATA、BSS) 数据段是存储数据用的,还可以分成初始化为非零的数据区,B转载 2011-12-05 22:03:01 · 4876 阅读 · 1 评论