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