ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:300.45KB ,
资源ID:3852701      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3852701.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言不过如此而已五.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

汇编语言不过如此而已五.docx

1、汇编语言不过如此而已五汇编语言,不过如此而已(五)第五章: BIOS中断第1节:中断号第2节:显示操作(INT_NUMBER=OX10)+功能号(存于AH)列表+显示操作类宏;显示模式的设置(00h)MODE_640*400_256 EQU 100HMODE_640*480_256 EQU 101HMODE_800*600_16 EQU 102HMODE_800*600_256 EQU 103HMODE_1024*768_16 EQU 104HMODE_1024*768_256 EQU 105HMODE_1280*1024_16 EQU 106HMODE_1280*1024_256 EQU 1

2、07HsetDispMode macro mode MOV AX,4F02H MOV BX,mode INT 10Hendm;设置光标形状(01h)setCursorFrame macro startRow,endRow MOV AH,01H MOV CH,startRow MOV CL,endRow INT 10Hendm;设置光标位置(02)setCursorPosition macro rowIdx,colIdx MOV AH,02H MOV DH,rowIdx MOV DL,colIdx INT 10Hendm;获取光标信息(03)cursorInfo struc startRow d

3、b ? endRow db ? rowIdx db ? colIdx db ? cursorInfo endsrif cursorInfo getCursorInfo macro ret_cursor_info MOV AH,03H MOV BH,0 INT 10H MOV rif.startRow,CH MOV rif.endRow,CL MOV rif.rowIdx,DH MOV rif.colIdx,DL endm;获取光笔信息(04h)lightPen struc state db ? pixelRow dw ? pixelCol db ? charRow db ? charCol d

4、b ?lightPen endsrlp lightPen getLightPenInfo macro rlp MOV AH,04H INT 10H MOV rlp.state,AH MOV rlp.pixelRow,BX MOV rlp.charRow,DH MOV rlp.charCol,DL .if CH!=0 MOV rlp.pixelCol,CH .else MOV rlp.pixelCol,CL .endifendm;设置显示页(05h)setDisplayPage macro page MOV AH,05H MOV AL,page INT 10Hendm;设置滚屏(06h-07h)

5、DIRECTION_UP EQU 06HDIRECTION_DOWN EQU 07HsetScreenCroll macro dir,rows,t,l,b,r MOV AH,dir MOV BH,rows MOV CH,t MOV CL,l MOV DH,b MOV DL,r INT 10Hendm;读取光标位字符及属性(08h)propChar struc attr db ? char db ?propChar endscursorChar propChar getCursorChar macro cursorChar MOV AH,08H INT 10H MOV cursorChar,AH

6、 MOV cursorChar,ALendm;在光标位显示字符及属性(09h)dispCursorChar macro char,attr,repeats MOV AH,09H MOV AL,char MOV BL,attr MOV CX,repeats INT 10Hendm;在光标位按原属性显示字符(0Ah)dispCursorCharProp macro char,color,repeats MOV AH,0Ah MOV AL,char MOV BL,color MOV CX,repeats INT 10Hendm;设置背景色或调色版(0Bh)SET_BACKGROUND_COLOR E

7、QU 00HSET_PALETE_TYPE EQU 01HsetColorType macro type,value MOV AH,0Bh .if type=SET_BACKGRPUND_COLOR MOV BH,00h MOV BL,value .elseif type=SET_PALETE_TYPE MOV BH,01H MOV BL,value .endif INT 10Hendm;写图形像素(0Ch)writeImagePixel macro value,rowIdx,colIdx MOV AH,0Ch MOV AL,value MOV CX,rowIdx MOV DX,colIdx

8、INT 10Hendm;读图形像素(0Dh)readImagePixel macro value,rowIdx,colIdx MOV AH,0Dh MOV CX,rowIdx MOV DX,colIdx INT 10H MOV value,ALendm;在电传打字机模式显示单个字符(0Eh)dispSingleCharAtTeleType macro char MOV AH,0Eh MOV AL,char INT 10Hendm;获取显示模式(0Fh)getDispMode macro charsPerRow,mode MOV AH,0Fh INT 10H MOV charsPerRow,AH

9、 MOV mode,ALendm;在电传打字机模式显示单个字符(13h)dispStringAtTeleType macro strAdress,rowIdx,colIdx MOV AX,strAddress MOV BP,AX MOV AX,1301H MOV BX,07H MOV DH,rowIdx MOV DL,colIdx INT 10HEndm第3节:磁盘操作(INT_NUMBER=OX13)+功能号(存于AH之中)+磁盘操作相关宏;磁盘复位(功能号:00H)setDiskReset macro drive,ret MOV AH,00H MOV DL,drive INT 13H MO

10、V ret,AH endm;读取磁盘系统状态(功能号:01H)getDiskState macro drive,state MOV AH,01H MOV DL,drive INT 13H MOV state,ALendm;读扇区(功能号:02H)readSector macro sectors,cylinder,sector,disk_header,drive,buffer,ret MOV AH,02H MOV AL,sectors MOV BX,buffer MOV CH,cylinder MOV CL,sector MOV DH,disk_header MOV DL,drive INT 1

11、3H MOV ret,AHendm;写扇区(功能号:03H)writeSector macro sectors,cylinder,sector,disk_header,drive,buffer,ret MOV AH,03H MOV AL,sectors MOV BX,buffer MOV CH,cylinder MOV CL,sector MOV DH,disk_header MOV DL,drive INT 13H MOV ret,AHendm;扇区检验(功能号:04H)sectorVerify macro sectors,cylinder,sector,disk_header,drive,

12、buffer,ret MOV AH,03H MOV AL,sectors MOV BX,buffer MOV CH,cylinder MOV CL,sector MOV DH,disk_header MOV DL,drive INT 13H MOV ret,AHendm;格式化磁道(功能号:05H)formatTrack macro innerLeave,cylinder,diskHeader,drive,addressArea,errCode MOV AH,05H MOV AL,innerLeave MOV BX,addressArea MOV CH,cylinder MOV DH,disk

13、Header MOV DL,drive INT 13H MOV errCode,AHendm;格式化坏磁道(功能号:06H)formatErrorTrack macro innerLeave,cylinder,diskHeader,drive,addressArea,errCode MOV AH,06H MOV AL,innerLeave MOV BX,addressArea MOV CH,cylinder MOV DH,diskHeader MOV DL,drive INT 13H MOV errCode,AHendm;格式化驱动器(功能号:07H)formatDrive macro inn

14、erLeave,cylinder,drive,errCode MOV AH,07H MOV AL,innerLeave MOV CH,cylinder MOV DL,driver INT 13H MOV errCode,AHendm;读驱动参数(功能号:08H)driveInfo struc errCode db ? size db ? cylinders dw ? sectors db ? diskHeaders db ? drivers db ? varListAddr dw ?driveInfo endsdri driveInfo getDriveInfo macro drive,dri

15、 MOV AH,08H MOV DL,driver INT 13H MOV dri.errCode,AH MOV dri.size,BL MOV dri.diskHeaders,DH MOV dri.drives,DL MOV dri.varListAddr,DI PUSH AX ;确定扇区数(CL:0-5Bit) MOV AL,CL AND AL,3FH ;00111111 MOV dri.sectors ;确定柱面数(CL:6-7bit+CH) MOV AL,CH MOV AH,CL AND AH,C0H ;11000000 SHR AH,6H MOV dri.cylinders,AX P

16、OP AXendm;初始磁盘参数(功能号:09H)initDisk macro drive,errCode MOV AH,09H MOV DL,drive INT 13H MOV errCode,AHendm;读长扇区(功能号:0AH)readLongSector macro sectors,cylinder,sector,diskHeader,buffer,drive,errCode,sectorRead MOV AH,0AH MOV AL,sectors MOV BX,buffer MOV CH,cylinder MOV CL,sector MOV DH,diskHeader MOV DL

17、,drive INT 13H MOV errCode,AH MOV sectorRead,ALendm;写长扇区(功能号:0BH)writeLongSector macro sectors,buffer,cylinder,sector,diskHeader,drive,errCode,sectorWrite MOV AH,0BH MOV AL,sectors MOV BX,buffer MOV CH,cylinder MOV CL,sector MOV DH,diskHeader MOV DL,drive INT 13H MOV errCode,AH MOV sectorWrite,ALend

18、m;查询(功能号:0CH)excuteQuery macro cylinder,diskHeader,drive,errCode MOV AH,0CH PUSH AX MOV AX,cylinder MOV CH,AL SHL AH,6 MOV CL,AH POP AX MOV DH,diskHeader MOV DL,driver INT 13H MOV errCode,AHendm;磁盘系统复位(功能号:0DH)setSystemReset macro drive,errCode MOV AH,0DH MOV DL,drive INT 13H MOV errCode,AHendm;读扇区缓

19、存(功能号:0EH)readSectorBuffer macro buffer,errCode MOV AH,OEH MOV BX,buffer INT 13H MOV errCode,AHendm;写扇区缓存(功能号:0FH)writeSectorBuffer macro buffer,errCode MOV AH,OFH MOV BX,buffer INT 13H MOV errCode,AHendm;读驱动状态(功能号:10H)getDriveState macro drive,errCode MOV AH,10H MOV DL,drive INT 13H MOV errCode,AHe

20、ndm;校验驱动(功能号:11H)driveVerify macro drive,errCode MOV AH,11H MOV DL,drive INT 13H MOV errCode,AHendm;控制器RAM校验(功能号:12H)controlRAMVerify macro errCode MOV AH,12H INT 13H MOV errCode,AHendm;控制器驱动校验(功能号:13H)controlDriveVerify macro errCode MOV AH,13H INT 13H MOV errCode,AHendm;控制器内部校验(功能号:14H)controlInne

21、rVerify macro errCode MOV AH,14H INT 13H MOV errCode,AHendm;获取磁盘类型(功能号:15H)getDiskType macro drive,typeCode MOV AH,15H MOV DL,drive INT 13H MOV typeCode,AHendm;获取磁盘变化状态(功能号:16H)getDiskChangeState macro drive,changeCode MOV AH,16H MOV DL,drive INT 13H MOV changeCode,AHendm;设驱动类型(功能号:17H)setDriveState

22、 macro typeCode,drive,errCode MOV AH,17H MOV AL,typeCode MOV DL,drive INT 13H MOV errCode,AHendm;格式化媒体类型(功能号:18H)getFormatMediaType macro cylinders,sectors,drive,mediaCode MOV AH,18H MOV CH,cylinders MOV CL,sectors MOV DL,drive INT 13H MOV mediaCode,DIendm;磁头保护(功能号:19H)diskHeaderProtect macro ;(略)en

23、dm;格式化ESDI驱动(功能号:1AH)formatESDIDrive macro ;(略)Endm第4节:串口操作(INT_NUMBER=OX14)+功能号(存于AH)列表+磁盘操作相关宏;串口初始化(00H)comInit marco initCode,comNum MOV AH,00H MOV AL,initCode MOV DX,comNum INT 14Hendm;向串口写字符(01H)writeCom macro char,comNum MOV AH,01H MOV AL,char MOV DX,comNum INT 14H endm;从串口读数据(02H)readCom mac

24、ro char,comNum MOV AH,02H MOV DX,comNum INT 14H MOV char,ALendm;获取串口状态(03H)getComState macro comNum,comState,modemState MOV AH,03H MOV DX,colNum INT 14H MOV comState,AH MOV modemState,AL endm第5节:其他操作(INT_NUMBER=OX15)(续上页)+其他操作相关宏;开盒式磁带机马达(00H)openBoxTapeDrive macro errCode MOV AH,00H INT 15H MOV err

25、Code,AHendm;关盒式磙带机马达(01H)closeBoxTapeDrive macro errCode MOV AH,01H INT 15H MOV errCode,AHendm;读盒式磙带机(02H)readBoxTapeDrive macro buffer,readLength,readedLength,errCode MOV AH,02H MOV BX,buffer MOV CX,readLength INT 15H MOV DX,readedLength MOV errCode,AH endm;写盒式磙带机(03H)writeBoxTapeDrive macro buffer

26、,writeLength,writedLength,errCode MOV AH,03H MOV BX,buffer MOV CX,writeLength INT 15H MOV DX,writedLength MOV errCode,AH endm;格式化ESDI驱动器定时中断(0FH)formatESDIDriveTimerInterrupt macro ;ps/2(略) endm;读|写自检错误记录(21H)selfCheckErrRecord macro ;ps/2(略)endm;键盘截听(4FH)keyboardListener macro ;ps/2(略)endm;设备打开(80H

27、)openDevice macro device,process,errCode MOV AH,80H MOV BX,device MOV CX,process INT 15H MOV errCode,AH endm;设备关闭(81H)closeDevice macro device,process,errCode MOV AH,81H MOV BX,device MOV CX,process INT 15H MOV errCode,AH endm;进程中止(82H)processSuspend macro process,errCode MOV AH,82H MOV BX,process I

28、NT 15H MOV errCode,AHendm;事件等待(83H)eventWait macro signal,timeOut MOV AH,83H MOV AL,00H MOV BX,signal INT 15H endm;读游戏杆(84H)joyStick macro ;(略)endm;系统请求健(85H)sysRequest macro actionCode,errCode MOV AH,85H MOV AL,actionCode INT 15H MOV errCode,AHendm;延迟(86H)delay macro timeOut,errCode MOV AH,86H MOV

29、DX,timeOut INT 15H MOV errCode,AHendm;移动扩展内存块(87H)moveBlock macro blocks,GDT,errCode MOV AH,87H MOV CX,blocks MOV SI,GDT INT 15H MOV errCode,AHendm;读取扩展内存大小(88H)readExtMemory macro byteReaded MOV AH,88H INT 15H MOV byteReaded,AX endm;进入保护模式(89H)enterProtectMode macro IRQ0,IRQ8,GDT,errCode MOV AH,89H MOV BH,IRQ0 MOV BL,IRQ8 MOV SI,GDT INT 15H MOV errCode,AH endm;设备等待(90H)de

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2