江山有做网站开发吗,怎么设计logo图片,wordpress 大图 主题,深圳商业网站建设本文为学习书籍《汇编语言(第4版)》后的小结。 1、寄存器
序号寄存器描述1ax运算寄存器2bx地址寄存器#xff0c;偏移地址3cx计数寄存器#xff0c;loop的结束条件#xff0c;jcxz的跳转条件4dx运算寄存器5cs段地址#xff0c;指令执行段地址6ss段地址#xff0c;栈的段地… 本文为学习书籍《汇编语言(第4版)》后的小结。 1、寄存器
序号寄存器描述1ax运算寄存器2bx地址寄存器偏移地址3cx计数寄存器loop的结束条件jcxz的跳转条件4dx运算寄存器5cs段地址指令执行段地址6ss段地址栈的段地址7ds段地址数据的段地址8es段地址extra扩展的段地址寄存器9ip偏移地址instruction指令偏移地址10sp偏移地址stack pointer栈偏移地址11si偏移地址source源12di偏移地址destination目的13bp偏移地址base pointer基地址14标记寄存器位代表标记见标记位列表
2、指令 指令 类型 指令说明 运 算 add、adc加法adc为带进位的加法sub、sbb减法sbb为带进位的减法mul 乘法 -8位乘法一个放在al另一个放在8位reg或内存字节单元中 结果16位存放在ax中 -16位乘法一个放在ax另一个放在16位reg或内存字单元中 结果32位高位放在dx中低位放在ax中。 div除法 8位除法被除数16位放在ax中结果al中存商ah中存余数 16位除法被除数32位dx存高16位ax存低16位结果ax存商dx存余数andand al00111011Boror al00111011Bshl和shr逻辑左移与右移 用0补位inc自增1dec自减1 数 据 传 送 movmovsb rep movsb 循环(cx)个字符的传送。 将ds:[si]地址的内容拷贝到es:[di],如果df0cldsi和di自增 df1stdsi和di自减 movswmovsw 一个拷贝1个字(两个字节32位)每次完成si和di 2或-2rep与movsb或movsw搭配使用push、poppushf、popfpush flag、pop flagdupdb 16 dup 0 将此块内容设置为16个为0的字节 dw 16 dup 0 .....16个为0的字(2个字节) dd 16 dup 0 .....16个为0的双字(4个字节) 转 移 指 令 jmpjcxzcxzero跳转 je、jb、ja、 jnb、jna、jne 与cmp搭配loopcx0结束循环call与retip寄存器会push和popint中断 与 iretint 1取中断类型码n 2标志寄存器入栈 3IF0TF0 4CS入栈IP入栈 5修改CS和IP至n号中断码对应的地址 iret 1pop IP 2pop CS 3popf 处 理 控 制 cld、std与movsb或movsw搭配使用 cld将df设置为0则si和di自增或2 std将df设置为1则si和di自减或-2cli、stisti设置IF1在中断处理程序中可处理可屏蔽中断 cli设置IF0在进入中断处理程序后进制其他的可屏蔽中断。nop占位和offset搭配通常用来计算某段代码的长度