汇编
栗子好好吃
向来心是看客心,奈何人是剧中人
展开
-
汇编 --- > 从磁盘(扇区2到18)上读取数据到内存中
下面代码读取柱面:0,磁头:0,扇区从2到18的数据到内存 0x8200~0xa3ff处 需要明白以下几点: 给定柱面,磁头,一个扇形区域是512字节,对应的物理可以理解为512个灯泡组(一个灯泡组有8个小灯泡) 确定读取到内存中的位置 为什么是0x8200:因为0x8000~0x81ff这512个字节要留给启动区. 为什么是0x8000以后,因为这一段内存区域,很少有人使用,故读取到这段内...原创 2019-10-17 17:43:52 · 964 阅读 · 0 评论 -
汇编 --- > 栈结构的妙用
在js中双重循环,代码如下: for(let i =0; i < l1;i++){ for(let j=0; j< l2;j++){ // todo... } } 以上代码在汇编中是如何实现的呢. 汇编中用cx和loop来代表一次循环 mov cx, 4 s: mov ax,1 loop s 但是如果使用如下方法实现双重循环将会出错 assume cs:code...原创 2019-10-15 15:20:55 · 202 阅读 · 0 评论 -
汇编 --- > EXE文件 的程序的加载过程
1.asm 使用编译工具写了一个求2的3次方的程序 assume cs:abc abc segment mov ax,2 add ax,ax add ax,ax mov ax, 4c00H int 21H abc ends end 编译&连接 得到可执行文件1.exe 使用debug调试1.exe 进入调试模式 debug 1.exe 查看数据段...原创 2019-10-12 16:56:55 · 505 阅读 · 0 评论 -
汇编 --- > 初体验
假设内存10000H中的值为23,10001H中的值为11,10002H中的值为22,10003H的值为11 在debug中执行以下代码 mov ax,1000H mov ds,ax mov ax,[0] mov bx,[2] mov cx,[1] add bx,[1] add cx,[2] 分析:8086CPU中由于段地址寄存器,无法直接赋值,因此需要先将值赋给通用寄存器然后再给ds赋值代码...原创 2019-10-11 13:18:19 · 163 阅读 · 0 评论