鱼C论坛

 找回密码
 立即注册
查看: 4277|回复: 5

汇编课本14章 检测点14.1问题

[复制链接]
发表于 2011-7-18 22:36:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bevin 于 2011-7-19 13:34 编辑

编程,向cmos RAM的2号单元写入0.

答案是这样写的:
assume cs:code
code segment
start:
mov al,2
out 70h,al
mov al,0
out 71h,al
in al,71h ;执行完此条指令后al中的内容为0

mov ax,4c00h
int 21h
code ends
end start
不理解中间每一句的含义,望高手指点。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-19 10:29:00 | 显示全部楼层
很简单,mov al,2 out 70h,al这两句是确定读写单元号。mov al,0 out 71h,al这两句是向指定单元写入数据。in al,71h这一句是把指定单元的数据读入al中。



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-19 11:03:36 | 显示全部楼层

第二句out 70h,al 是不是应该是71h?这个才是数据总线。。。能不能解释详细一点 = - ,我有点乱。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-19 12:29:41 | 显示全部楼层
它就这样规定的,70h端口是写入要读写的单元号的,71h端口就是读写单元内容的。没有为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-19 13:34:16 | 显示全部楼层
懂了,谢谢 。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-4 23:28:21 | 显示全部楼层
代码如下
assume cs:code
code segment
        start:
                mov al,8
                out 70h,al
                in al,71h
                mov ah,al
                mov cl,4
                shr ah,cl
                and al,00001111b
                
                add ah,30h
                add al,30h
                
                mov bx,0b800h
                mov es,bx
                mov byte ptr es:[160*12+80],ah
                mov byte ptr es:1[160*12+80],01110000b
                mov byte ptr es:2[160*12+80],al
                mov byte ptr es:3[160*12+80],01110000b
                
                mov ax,4c00h
                int 21h
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 06:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表