自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 除法div

格式 :          div reg             或   div 内存单元 被除数默认放在 DX和AX中如果除数为8位 则 AX当被除数如果除数为16位 则DX*10000+AX 当被除数  DX放高十六位 AX放低十六位除数放在一个reg或者一个内存单元中例题  求100001 / 100        既186A1H / 100          ...

2018-12-17 20:51:08 939

原创 word ptr 按字处理 byte ptr按字节处理

名字 seg:60 +00 DEC 单位 +03 Huawei 年龄 +0C 34 收入 +0E 7000 产品名 +10 PDP 任务 将年龄改为 35 , 将产品名改为 COMmov ax,segmov ds,axmov bx,60mov word ptr [bx].0ch, 35         ...

2018-12-17 20:32:33 3838

原创 用 word ptr 和 byte ptr 指明内存单元的长度

以下的操作 都是字操作mov ax,1            mov bx,ds:[0]            mov ds,ax          mov ds:[0], ax        inc ax add ax,1000以下的操作 都是字节操作mov al,1mov al,blmov al,ds:[0]mov ds:[0], alinc a...

2018-12-17 19:53:56 1099

原创 双层循环 利用栈存储变量算子

进入内层循环前 1把cs 压入栈                          2重新赋值cs                          3 内层循环                          4 从栈中取出cs                          5 loop 外层 ...

2018-12-17 19:32:38 139

原创 and or 字符型数据 灵活定位内存地址

and用来抠0 or用来填1al第6位设为0的方法是 and al,10111111B al第7位设为0的方法是 and al,01111111B 用单引号写的字符型数据 'unIX' 在编译的时候 会被转化为相应的ASCII码字母A的ascii码是 41H 也就是65        01000001小写字母的ascii码是61H                    0110...

2018-12-17 19:05:02 236

原创 多个段的程序

程序取得空间的方法 1 l加载时提分配空间 2 执行过程中向系统申请(第二种先不讨论) 如果要将 cs:10 ~ cs:2F 当栈用 则SS:SP 要指向栈底 指向 CS:30下面是多个段的程序assume cs:code,ds:data,ss:stackdata segment              dw 0123h,0456h,0789h,0abch,0defh,0...

2018-12-17 18:39:25 123

原创 g p [bx] 段前缀 DOS安全区域

在debug分步运行程序时, 如果想快进到CS:0012 前面的跳过 怎么办? g 0012分步运行到循环 想快进到循环结束, p   当然也可以用g 后面的标号 我们想 mov al,[0]  在debug中这样写可以, 但是在编译器中这样写, 会被翻译成mov ax,0于是 方法1                      mov bx,0               ...

2018-12-17 18:17:14 140

原创 loop循环 FFFF:0006单元中的内容 乘以3 结果存储在dx中

分析1 FFFF:0006 是一个字节单元 0~255 . dx是两个字节的空间 0~65535. 前者乘以3 不会越界2 以dx为目标结果 先让(dx)=0, 让(ax)=(FFFF6), 再用dx加三次ax3 ax两字节 FFFF:0006 一字节, 如何赋值? 让(ah)=0 ,(al)=(FFFF6) assume cs:abcabc segment      ...

2018-12-16 11:12:17 465

原创 loop循环 2^12

如果说求 2^3 的方法是mov ax,2add ax,axadd ax,ax==================================================================那么,如何求2^12?      循环次数用cx表示assume abc:codecode segment       mov ax,2       mo...

2018-12-15 20:50:43 271

原创 简洁描述的约定

先看几句代码的解释mov ax,[0]          将一个内存单元(字单元)放入ax , 内存单元长度为2字节, 存放一个字, 段地址是DS 偏移地址是0mov al,[0]          将一个内存单元(字节单元)放入ax , 内存单元长度为1字节, 存放一个字节, 段地址是DS 偏移地址是00表示的是偏移地址 具体长度(类型)由其操作对象决定mov ax,[bx]  ...

2018-12-15 11:54:24 327

原创 用debug来执行exe

用debug来执行exe运行dosboxmount c k:\c:debug 1.exe此时 1.exe的内容被加载到内存中 位置是DS 或者说DS+10H :0  (10H 是十进制的16) DS代表的是段地址 换算成字节要乘以16  所以10H的空间是 16*16=256字节这256个字节的空间 叫PSP,是DOS用的 与程序本身没关系 不深究程序正式开始的内存...

2018-12-15 11:11:57 2149

原创 初次汇编程序 masm5

下载masm5.zip  解压到 k: \masm5                    (汇编语言编译工具包)下载debug.exe 放在k:下载dosbox 并运行mount c k:\                                    把k盘加载到C盘c:debug                                           ...

2018-12-14 21:03:15 991

原创 数据段

汇编的上机测试并非命令行以下代码 要控制CS IP 然后用a命令a之后再逐行输入 再用t命令运行数据段 连续 起始位置为16倍数例如 123B0H ~ 123B9H 就可以是一个数据段 起始位置 123BH 长度10个字节累加前三个单元的方法mov ax,123BHmov ds,axmov al,0mov al,[0]mov al,[1]mov al...

2018-12-12 20:10:52 182

原创 内存单元 地址寄存器

mov指令可以完成两种传送1 将数据直接送入寄存器(CS IP除外) 2 将一个寄存器的内容送入另一个寄存器那么 如何将内存单元中的内容送入一个寄存器中呢?例题         已知内存单元情况                                       10000H 23 10001H 11 10002H 22 10003H...

2018-12-12 19:56:24 1168

原创 windows 操作系统下 进入debug r d e u t a

下载dosbox下载debug.exe 这个放在某个盘根下 方便点双击dosbox在dos环境下 输入                      mount c K:\                      c:                      debug用r命令 显示寄存器                      r这时会显示各个寄存器的信息...

2018-12-12 18:10:36 451 2

原创 段式地址 寄存器

8086CPU 它的位数是16位 但是地址总线是20位的于是它用两个16位地址合成来表达一个20位的地址 (用地址加法器加工的)第一个16位叫段地址 第二个16位地址叫偏移地址所以 物理地址= 段地址*16+偏移地址============================================================CPU的工作原理 重点以8086CPU为...

2018-12-11 21:29:25 509

原创 第一章 基础知识

不管是显卡还是网卡 还是什么的, 只要和主板相连的 都被CPU当作内存来对待 用外部主线(简称主线)来连接 CPU还有自己的内部主线, 连接 寄存器 运算器 控制器. 其中的寄存器, 是玩家操控CPU的手段 汇编指令 意义 高级语言 mov ax,18 将18 放入寄存器 AX AX=18 add ax,8...

2018-12-11 20:27:35 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除