zoukankan      html  css  js  c++  java
  • 汇编语言读书笔记(三)

    关于本次阅读后的思考

     第七章

    各个寄存器之间的区别是什么?

    个人理解:寄存器都是存放内存地址的一个16位的容器,仅仅从用途上可以区分为一般存储功能及特殊功能,

    例如CS是指向代码段的寄存器,CX的值会随着LOOP循环指令的执行自动-1

    SP会随着栈的PUSH和POP从而+-2等等

     第八章

    获取数据的长度

    mov ax xx---- 1 word

    mov al XX ----- 1byte

    mov byte ptr   ---1byte

    mov word ptr -----1word

    随后的汇编笔记不再更新详细,大多都是语法上的说明而已,我的本意是为了解计算机原理为目的进行学习,所以汇编的语法并不重要。

    第七章 灵活定位内存地址

    定位内存地址的几种方式

     1 8086CPU中只有BX,SI,DI,BP可以放入[]中进行寻址,,例如[AX]就是错误的

     2 BX+SI/DI+IDATA;  BP+SI/DP/DI+IDATA

    小总结 BP+BX组合是不行的,SI或者DI一定要依靠BX或者BP才能组合,idata随意组合

    [BX+idata][BX+DI+idata][BX+SI+idata]

    [BP+idata][BP+DI+idata][BP+SI+idata]

    [bx],[bp],[si],[di],[idata]

    ...

    第八章 数据处理的两个基本问题

    reg/sreg

    reg表示寄存器 ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,cl,sp,bp,si,di

    sreg表示段寄存器 ds,cs,ss,es

    BP寄存器

    mov ax,[bp] 含义默认为(AX)=((SS)*16+(BP)) 

    段地址默认是SS

    指令获取数据的地址

    1 mov bx,[0] 获取数据的地点是内存--地址是ds:0的内存单元

    2 mov bx,ax 获取数据的地点是CPU内部--AX寄存器

    3 mov ax,1 获取数据的地点是CPU内部--指令缓冲器

    获取数据的长度

    mov ax xx---- 1 word

    mov al XX ----- 1byte

    mov byte ptr   ---1byte

    mov word ptr -----1word

    div指令

    格式 

    div reg

    div 内存单元

    由于除数分为16,32位所以需要1个或者2个寄存器

    16位则是AX---AL,AH

    32位是AX,DX

    div byte ptr ds:[0]

    (al)=(ax)/(ds:[0])求商

    (ah)=(ax)/(ds:[0])求余数

    div word ptr ds:[0]

    (ax)=(dx)/(ds:[0])求商

    (dx)=(dx)/(ds:[0])求余数

  • 相关阅读:
    线程每隔5秒监控一次系统时间
    Struts2框架运行流程及案例
    list转为json
    Workbook读取Excel数据
    testng 接口测试,读取Excel表格数据,做数据驱动2(读取某些固定列数据)
    解析json数据,将json转为实体类
    通过maven命令将jar包放入本地仓库下
    遍历 Object[] [] 数组的值
    testng 接口测试,读取Excel表格数据,做数据驱动1(按照顺序读取Excel数据)
    解析json数据,将json转为Map
  • 原文地址:https://www.cnblogs.com/sunfan1988/p/3537886.html
Copyright © 2011-2022 走看看