随笔分类 - 汇编语言
摘要:可以修改IP或者CS:IP的指令叫做转移指令.只修改IP,称为段内转移如jmp ax,根据对IP修改的范围不同分为短转移和近转移,范围分别为-128到127和-32768到32767同时修改CS和IP的指令称为段间转移,如jmp 1000:09.1 offsetoffset 标号,用于取标号的偏移地...
阅读全文
摘要:第一次做 比较烂的实现:assume cs:code,ds:data,ss:stackdata segmentdb '1975','1976','1977','1978','1979','1980','1981','1982','1983'db '1984','1985','1986','1987'...
阅读全文
摘要:本章是前面章节的总结1.处理的数据在哪?2.数据有多长?以下理由reg表示寄存器,sreg表示段寄存器reg有:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,disreg有:cs,ds,es,ss8.1 bx,si,di 和 bp1) [..]中只能使用这...
阅读全文
摘要:7.1 and 和 or 指令 二进制的and or 可以将某位归0或置17.2 关于ASCII码7.3 以字符形式给出数据 data segment db 'unIX' //相当于db 75H,6EH,49H,58H db 'foRK' //相当于db...
阅读全文
摘要:A)将下面的程序编译连接,用Debug加载、跟踪,然后回答问题assume cs:code,ds:data,ss:stackdata segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdata endsstack segmentdw 0...
阅读全文
摘要:多个段相对单个段结构清晰易于调用将数据段数据逆序放在原位置assume cs:code,ds:data,ss:stackdata segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h //定义8个字型数据 16个内存单元data en...
阅读全文
摘要:编程:9条指令向0:200-0:23F依次传送0-63assume cs:codesgcodesg segmentmov bx,0mov ds,bxmov bx,200Hmov cx,40Hs:mov ds:[bx],bxinc bxloop smov ax,4c00Hint 21Hcodesg e...
阅读全文
摘要:1.[bx]与内存单元 [bx]是指 段地址在DS中,偏移地址在bx中的内存单元2.loop 用于描述循环3.我们定义的描述性符号 "()" 寄存器: (ax/al)表示ax/al寄存器中的内容 段寄存器: ((ds)*16+(bx))表示段地址为ds内容,偏移地址为bx内容的内存单元的内...
阅读全文
摘要:1)将下列程序保存为t1.asm,生成t1.exeassume cs:codesgcodesg segment mov ax,2000H mov ss,ax mov sp,0 add sp,10 pop ax pop bx push ax push bx pop ax pop b...
阅读全文
摘要:4.1一个源文件从写出到执行的过程a.编写源文件(伪指令+汇编指令)b.编译连接c.执行4.2源程序程序4.1assume cs:codesg //将段codesg与cs段寄存器关联,表示这是一个代码段(指令段)codesg segment //段开始 段名为codesg mov a...
阅读全文
摘要:1.在Debug中D、E、A、U命令访问内存地址时候可以用段寄存器代替直接给出段地址2.注意在修改SS的操作如 mov ss,ax mov ss,[0] pop ss都会与下一条修改SP的操作一起执行,不会断开
阅读全文
摘要:3.1内存中字的存储CPU中寄存器是16位的,可以用高低字节存储一个字,但是每个内存单元是8位的,只能存储一个字节,所以内存中用相邻2个内存单元存储一个字的高低字节如:20000数值(4E20H)在地址0的内存单元数值为20H,在地址1的内存单元数值为4EH 两个内存单元存储一个字型数据叫做一个字...
阅读全文
摘要:Debug的使用:Debug 是DOS和Windows 实模式 (8086方式)的调试器,可以查看修改寄存器内容以及内存内容,机器码级别Debug命令: 1)R命令:显示或修改寄存器内容 -r 显示所有寄存器及内容,且在末尾显示当前CS:IP指向的内存单元的指令 -r ax 修改ax...
阅读全文
摘要:一个典型的CPU由运算器、控制器、寄存器组成,内部总线连接各部分器件寄存器是程序员可以用指令读写的部件,通过改变寄存器里的内容从而实现控制CPU,不同CPU 寄存器的个数结构是不一样的,8086有14个寄存器2.1通用寄存器 8086所有的寄存器都是16位的,可以存放2个字节,AX、BX、CX、D...
阅读全文
摘要:1.1机器语言:纯二进制1.2汇编语言:是对机器语言的轻微抽象1.3汇编语言的组成: a.汇编指令:机器码的助记符,有对应的机器码 * 是核心 b.伪指令:没有机器码,由编译器执行,计算机不执行 c.其他符号: 如+-*/ 由编译器识别,没有机器码1.4存储器: 就是内存, 指令和数据存在此处...
阅读全文
浙公网安备 33010602011771号