第6章 循环、批量传送和条件转移-1.34h

c06_mbr.asm

         ;代码清单6-1
         ;文件名:c06_mbr.asm
         ;文件说明:硬盘主引导扇区代码
         ;创建日期:2011-4-12 22:12 
      
         jmp near start
         
  mytext db 'L',0x07,'a',0x07,'b',0x07,'e',0x07,'l',0x07,' ',0x07,'o',0x07,\
            'f',0x07,'f',0x07,'s',0x07,'e',0x07,'t',0x07,':',0x07
  number db 0,0,0,0,0
  
  start:
         mov ax,0x7c0                  ;设置数据段基地址 
         mov ds,ax
         
         mov ax,0xb800                 ;设置附加段基地址 
         mov es,ax
         
         cld
         mov si,mytext                 
         mov di,0
         mov cx,(number-mytext)/2      ;实际上等于 13
         rep movsw
     
         ;得到标号所代表的偏移地址
         mov ax,number
         
         ;计算各个数位
         mov bx,ax
         mov cx,5                      ;循环次数 
         mov si,10                     ;除数 
  digit: 
         xor dx,dx
         div si
         mov [bx],dl                   ;保存数位
         inc bx 
         loop digit
         
         ;显示各个数位
         mov bx,number 
         mov si,4                      
   show:
         mov al,[bx+si]
         add al,0x30
         mov ah,0x04
         mov [es:di],ax
         add di,2
         dec si
         jns show
         
         mov word [es:di],0x0744

         jmp near $

  times 510-($-$$) db 0
                   db 0x55,0xaa
label_a:
	....

如果label_a汇编地址0x05,程序加载到内存后,他在段内的便宜地址仍然是0x05

[14.1]–跳过非指令的数据区.mp4在这里插入图片描述

mov byte [0x00] ,'L'
mov byte [0x01] ,0x2f 

在这里插入图片描述
\续行符

在这里插入图片描述
在这里插入图片描述
指令指针寄存器的值是0x7x00,段地址寄存器的值是0x0000

[14.2]–逻辑段地址的重新设定.mp4

在这里插入图片描述

[14.3]–串传送指令和标志寄存器.mp4

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
DF处理器自动设置的,我们的程序只能读不能写

cld DF清零

std

rep 重复执行“CX中值”次,CX值为0,则执行下一条指令

[14.4]–NASM的 和 和 $记号.mp4

在这里插入图片描述
$ 当前行的汇编地址;例如:jmp $ 跳转到自身,无限循环

$$ 程序起始汇编地址

在这里插入图片描述

[14.5]–使用循环指令LOOP分解数位.mp4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[14.6]–基址寻址和INC指令.mp4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[14.7]–数字的显示和DEC指令.mp4

在这里插入图片描述
在这里插入图片描述

[14.8]–基址变址寻址和条件转移指令.mp4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java硕哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值