【汇编】CS段寄存器初始值

通过打印寄存器的值,发现cs寄存器初始值为0x0000

打印寄存器代码如下

		;将寄存器中的值打印到屏幕上

		mov ax,0x8c00	;因为要用到call指令,定义堆栈
		mov ss,ax,

		mov ax,100
		mov sp,ax
		


		mov ax,0xb800	;将es段寄存器指向0xb800
		mov es,ax

		

		mov ax,cs	;给ax寄存器一个值
	
		mov dh,ah	;保存ah,以便于显示ah的第二个
		shr ah,4	;以下显示ah寄存器的第一个

		call x

		mov byte [es:0x00],ah
		mov byte [es:0x01],0x07	

		mov ah,dh	;以下显示ah寄存器的后一个
		shl ah,4	;通过先逻辑右移,再逻辑左移,将ah高为清零
		shr ah,4
		call x

		mov byte [es:0x02],ah
		mov byte [es:0x03],0x07	




		mov dh,al	;保存al以便于显示al的第二个

		shr al,4

		mov ah,al	;显示al的第一个
		call x
		mov byte [es:0x04],ah
		mov byte [es:0x05],0x07	

		mov al,dh	;显示al的第二个	
		shl al,4	;通过先逻辑右移,再逻辑左移,将al高为清零
		shr al,4
		mov ah,al
		call x
		mov byte [es:0x06],ah
		mov byte [es:0x07],0x07	


x:
		cmp ah,10
		jnl x1		;jnl指令,大于等于则跳转
		add ah,0x30
		ret
		
x1:
		add ah,0x57
		ret

		times 510-($-$$) db 0
				 dw 0xaa55


		

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值