社区
汇编语言
帖子详情
in out指令
justin_0009
2007-11-26 03:10:15
比如我需要向屏幕输出字符串。不使用中断使用in,out指针怎么输出?
字符串为helloworld!
...全文
405
9
打赏
收藏
in out指令
比如我需要向屏幕输出字符串。不使用中断使用in,out指针怎么输出? 字符串为helloworld!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
justin_0009
2007-11-28
打赏
举报
回复
IN,OUT咋搞???谁出来来个代码。最好是汇编的。
justin_0009
2007-11-27
打赏
举报
回复
该看什么资料呢??
翻了一下书籍都写的比较简单。能不能来个例子,比如我需要键盘,不使用IN,OUT也可以吗
Joke_Olive
2007-11-27
打赏
举报
回复
3楼说得没错。
要注意的是,图形模式下,写显存所在地址时,写的不是ASCII码,而是显示点阵数据
lxjjoinly
2007-11-27
打赏
举报
回复
BIOS里的字符点阵也就是8个字节画一个字符,8*8的像素点
for(y=0;y<8;y++)
for(x=0;x<8;x++)
if(c[y]>>x & 1)
putpixel(xPos+x,yPos+y,Color);
不过问下LS的不用BIOS的10号中断要怎样画像素点?
新人,不好意思,刚学。
图形模式下放进去的也应该是字节吧,那它和像素是怎么关联的呢?
lxjjoinly
2007-11-27
打赏
举报
回复
我去找了下,也没找到什么。。。
1。1024*768,256色(RGB-3色3个字节设置表示1个点) VGA 图形模式 AH=00H AL=62H INT 10H
2。ROM中ASCII码像素表对应地址F000:FA6E
四个I/O端口可以完成设置颜色寄存器的工作。这四个端口分别是:
0x3c6、0x3c7、0x3c8和0x3c9。
端口0x3c6称为调色板屏蔽寄存器,用来屏蔽所要求的调色板寄存器的位,如果你在这个寄存器中放入0xff,你就可以通过调色板索引寄存器0x3c7和0x3c8(一个用于读,一个用于写)访问任何你希望访问的颜色寄存器,端口0x3c9称为调色板数据寄存器,红、绿、蓝三种成份就是通过它进行读写(颜色值要读或写三次)。
1。设置颜色寄存器值的函数:
void SetPaletteRegister(int index,RGBColorPtr color)
{
outportb(0x3c6,0xff);
outportb(0x3c8,index);
outportb(0x3c9,color->red);
outportb(0x3c9,color->green);
outportb(0x3c9,color->blue);
}
2。获取颜色寄存器值的函数:
void GetPaletteRegister(int index,RGBColorPtr color)
{
outportb(0x3c6,0xff);
outportb(0x3c7,index);
color->red=inportb(0x3c9);
color->green=inportb(0x3c9);
color->blue=inportb(0x3c9);
}
---------------------
一般VGA视频BIOS的入口地址在C000H——CFFFFH之间
zhgwbzhd
2007-11-27
打赏
举报
回复
我认为最低端的就是in out 啦
zhouziheng_chang
2007-11-26
打赏
举报
回复
直接写显存所在的地址空间。
------------------------------------------------------
汇编语言学习支持网 www.asmedu.net
jvphxys
2007-11-26
打赏
举报
回复
楼上的是一种方法啊..
呵呵..
要使用IN,OUT,看来首先要把地址找到塞..
翻一些资料先吧
lxjjoinly
2007-11-26
打赏
举报
回复
你直接把它送到B8000去连,in,out都不要
Java IO流精讲下
标准输入输出流(System.in 和 System.out) l 随机访问流(RandomAccessFile) l 合并流(SequenceInputStream) l 序列化流和反序列化流(ObjectOutputStream/ObjectInputStream) l&...
IN
指令
和OUT
指令
Windows控制硬件借助的是输入和输出
指令
。其中具有代表性的两个输入输出
指令
就是IN和OUT
指令
。这些
指令
也是汇编语言的助记符。可以通过IN和OUT
指令
来实现对数据的读入和输出,如下图所示: IN
指令
和OUT
指令
也就是说,IN
指令
通过指定的端口号输入数据,OUT
指令
则是把CPU寄存器中存储的数据输出到指定端口号的端口。 那么这个端口号和端口是什么呢?你感觉它像不像港口一样?通过标注哪个港口然后进行货物的运送和运出? 下面我们来看一下官方是如何定义端口号和端口的。 我们今天说说输入设备和输出设备,这两
【asm基础】汇编
指令
之in/out
指令
【asm基础】汇编
指令
之in/out
指令
。
in /out
指令
C机给予每一个端口分配了一个地址(称为端口号),形成一个独立于内存空间的I/O地址空间。 详情请入:传统PC机I/O位址空间范围 CPU对外设的操作通过专门的端口读写
指令
来完成。读端口用IN
指令
,写端口用OUT
指令
。 IN AL,21H;表示从21H端口读取一字节数据到AL IN AX,21H;表示从端口地址21H读取1字节数据到AL,从端口地址22H读取1字节到AH OUT 2...
【接口技术】8086的IN和OUT
指令
x86采用独立编址的方式,IO端口地址和存储器地址是分开的。 对于IO存储器访问,需要使用独立的IO
指令
,也就是IN和OUT 两类地址 地址空间大小在8位以下 地址空间大小在16位以下 两种格式 对于两类不同的地址,IO
指令
的格式不一样。 Mnemonic Description OUT imm8, AL Output byte in AL to I/O port address imm8. OUT imm8, AX Output word in AX to I/O port add
汇编语言
21,459
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章