随笔分类 -  汇编(8086)

constant value too large
摘要:出错现场:1 .model small2 .data3 byte_var dw 'abc',10h,2 dup(-1,2 dup(4))4 .stack5 .code将byte_var dw 'abc',10h,2 dup(-1,2 dup(4))一句中dw改为db即可 阅读全文

posted @ 2013-06-19 20:31 铁树银花 阅读(703) 评论(0) 推荐(0)

汇编知识点整理
摘要:1. 堆栈的操作数是字,不能是字节。2. push操作是先将栈顶指针减2,即(sp)-2 -> sp,然后将源操作数压栈,源操作数的高字节放入(sp)+1,低字节放入(sp)。pop则先把栈顶的字((sp) + 1, (sp))送到目的操作数,然后将栈顶指针sp-23. 使用call指令调用子程序时,该指令会将其下条指令的偏移地址(称为返回地址或断点)保存进栈,若为段间调用则要首先把cs寄存器的内容保存进栈,保存断点是为了在子程序执行ret返回指令后能顺利执行call的下一条指令。例:call myprocmov ax, 09h call指令会将指令mov ax,09h的偏移地址压栈 阅读全文

posted @ 2013-05-09 10:56 铁树银花 阅读(295) 评论(0) 推荐(0)

NV UP EI PL NZ NA PO NC的含义(转)
摘要:原帖:http://answers.yahoo.com/question/index?qid=20061110202234AATMzc7The types of flags within the simple 8086 CPU are as follows, with their abbreviation in parentheses:Overflow (OF)Direction (DF)Interrupt Enable (IF)Sign (SF)Zero (ZF)Auxillary Carry (AF)Parity (PF)Carry (CF)The functions of the fla 阅读全文

posted @ 2013-05-06 21:03 铁树银花 阅读(1068) 评论(0) 推荐(0)

8086CPU寄存器
摘要: 阅读全文

posted @ 2013-04-21 11:05 铁树银花 阅读(145) 评论(0) 推荐(0)

逻辑地址和物理地址
摘要:什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?解:逻辑地址是指在程序和指令中使用的一种地址,它包括两部分:段基地址和偏移地址。段基地址说明每段在主存中的起始位置,它来自于段寄存器(CS、DS、ES、SS)。偏移地址说明主存单元距离段起始位置的偏移量。它是一个16位的偏移地址,根据指令的不同,它可以来自于8086CPU中不同的16位寄存器 IP、SP、BP、SI、DI、BX等。物理地址是指CPU对存储器进行访问时实际寻址所使用的地址,物理地址是由段寄存器与偏移地址共同确定的。在实际工作时,从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址,此地址在CP 阅读全文

posted @ 2013-04-21 11:01 铁树银花 阅读(1338) 评论(0) 推荐(0)

导航