Irvin32.LIB 程式庫說明.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

《高等学校创新能力提升计划》 的情况介绍 2012年3月.
性教育教學模組設計 主題:身體自主權 台中市忠明國小 巫偉鈴.
計算機程式語言實習課.
整体销售方案 中山市美好物业代理有限公司
臺中市頭家國小 生理衛生講座 青春期的奧秘 ‧說到青春期,你會想到? ‧班級表現最好的,有獎徵答有優先權。 葉孟娟老師、黃文玲老師.
新北市廠商聯合抗旱會議 104年3月23日.
汇编语言程序设计 吴 向 军 中山大学计算机科学系
1. 民主社會裡,公民的參與有其重要性,而透過政治參與無法達成下列哪一項目的?
Advantage And Disadvantage
File Access 井民全製作.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
Project 2 JMVC code tracing
主題五 CPU Learning Lab.
基本程式範例.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 廣告燈 2018年11月7日 8051 單晶片實習----E0903廣告燈.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
Instructor:Po-Yu Kuo 教師:郭柏佑
動畫程式 撰寫流程與範例.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
Visual C++ introduction
汇编语言程序设计 Assembly Language Programming
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 閃爍燈 2018年11月23日 8051 單晶片實習---E0901閃爍燈.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
Java程式概觀.
第 5 章:程序.
2-1 接腳說明 2018/11/30 第2章 系統分析.
計算機結構 – 概論 陳鍾誠 於金門大學.
基本的”防”黑客技术 Basic” ” Hacker Technique
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
用開關選擇動作狀態 單晶片微電腦控制實習 輸入埠基礎實習 國立大甲高工 電機科 2019年1月16日
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
4-15 WDT HT66F50.
TA教育訓練 微處理機系統實習.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
第2章 80x86计算机组织  计算机系统  存储器  中央处理机  外部设备.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
挑戰C++程式語言 ──第8章 進一步談字元與字串
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
本节内容 段描述符与段选择子 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
虚拟机加密,是把源程序的X86指令变成自定义的伪指令,执行时内置在保护程序中的VM就会启动,读取伪指令,然后解析执行
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
陣列與結構.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
本节内容 通用寄存器 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
利用HT66F50 SIM模組單元中PCK腳位輸出特性 控制speaker 發聲 SIM 串列界面模組
資料表示方法 資料儲存單位.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
厉害了,我的国! 15会计2班团支部 2018年4月20日.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
大数据搜索挖掘实验室 第五章 子程序设计 张华平 副教授 博士 Website: 大数据搜索挖掘实验室
Programming & Language Telling the computer what to do
第三章 Arduino互動程式設計入門 Arduino程式基礎 認識變數 認識數字系統 認識常數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
快取映射 之直接對映 計算整理.
Unix指令4-文字編輯與程式撰寫.
單晶片實作講義 微電腦控制界面 (LCD) 。.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

Irvin32.LIB 程式庫說明

程式庫說明組成 輸出功能資料輸出 輸入功能鍵盤輸入 控制處理系統資訊控制 控制處理常用資訊處理

輸出功能資料輸出 Waitmsg Writebin Writechar Writedec Writehex Writeint Writestring

輸入功能鍵盤輸入 Readchar Readhex Readint Readstring

控制處理系統資訊控制 Clrscr Clrf Delay Gotoxy Settextcolor

控制處理常用資訊處理 Dumpmem Dumpregs Getcommandtail Getmseconds Random32 Randomize Randomrang

Clrscr 函數功能: 相關函數: 函數用法: 函數範例: call Clrscr 清除銀幕。 Clrf Gotoxy Settextcolor 函數用法: call Clrscr 傳入參數: 無 回傳參數: 無 函數範例: ;清除銀幕資料。 call Clrscr

Clrf 函數功能: 相關函數: 函數用法: 函數範例: call Clrf 游標換行回頭(跳至下一行, 或印空白行)。 Clrscr Gotoxy Settextcolor Readstring 函數用法: call Clrf 傳入參數: 無 回傳參數: 無 函數範例: ;游標換行回頭。 call Clrf

Delay 函數功能: 相關函數: 函數用法: 函數範例: mov eax,暫停毫秒數 call delay 暫停程式執行,產生以毫秒(ms)計算之延遲。 相關函數: Dumpregs Getcommandtail Getmseconds Random32 Randomize 函數用法: mov eax,暫停毫秒數 call delay 傳入參數: EAX,暫停之毫秒數。 回傳參數: 無 函數範例: ;暫停1000毫秒=1秒。 mov eax, 1000 call delay

Dumpmem 函數功能: 相關函數: 函數用法: 函數範例: call Clrscr 以Hex格式輸出一段範圍之記憶體內容。 ESI: 記憶體開始位址 ECX: 輸出個數 EBX: 輸出單位,1:byte,2:word,4:Dwd 相關函數: Dumpregs Getcommandtail Random32 Randomize Randomrang 函數用法: call Clrscr 傳入參數: ESI開始位址, ECX個數, EBX: 輸出單位,(1/2/4) 。 回傳參數: 無 函數範例: ;輸出array array dword 1,2,3,4,5 mov esi, offset array mov ecx, lengthof array mov ebx, type array call Dumpmem

Dumpregs 函數功能: 相關函數: 函數用法: 函數範例: call Dumpregs 輸出目前運算結果之CPU暫存器值。 EIP=呼叫Dumpregs之下一指令 可用於偵錯。 相關函數: Dumpmem Getcommandtail Random32 Randomize Randomrang 函數用法: call Dumpregs 傳入參數: 無 回傳參數: 無 函數範例: ;清除銀幕資料。 call Dumpregs

Getcommandtail 函數功能: 相關函數: 函數用法: 函數範例: call getcommandtail 將程式之命令列複製於edx所指之位址。 Edx=offset buffer Buffer byte 129 DUP(0) 相關函數: Dumpmem Dumpregs Getcommandtail Getmseconds 函數用法: call getcommandtail 傳入參數: edx:儲存位址之偏移值 回傳參數: 命令列字串 函數範例: .data cmd byte 129 DUP(0) .code mov edx, offset cmd call getcommandtail ;cmd=命令列字串。

Getmseconds 函數功能: 相關函數: 函數用法: 函數範例: call getmseconds 讀取系統以毫秒計時之時間。 可以應用於估算程式執行時間。 相關函數: Dumpmem Dumpregs Getmseconds Delay 函數用法: call getmseconds 傳入參數: 無 回傳參數: eax=毫秒數。 函數範例: .data Starttime dword ? .code call getmseconds mov starttime,eax call test ;計算test之執行時間。 sub eax, starttime

Gotoxy 函數功能: 相關函數: 函數用法: 函數範例: call gotoxy 將游標移至指定之文字座標。 X軸0~79 Y軸0~24 Clrscr Clrf Settextcolor Writestring Readstring 函數用法: call gotoxy 傳入參數: dh: Y軸(列) dl: X軸(行) 回傳參數: 無 函數範例: ;游標移至座標(20,10)(行列)。 mov dh, 10 mov dl, 20 call gotoxy

Random32 函數功能: 相關函數: 函數用法: 函數範例: call random32 產生32位元之亂數。 需應用randomize產生亂數種子。 若不更動亂數種子,亂數序列將不更動。 相關函數: Dumpmem Dumpregs Randomize Randomrang 函數用法: call random32 傳入參數: 無 回傳參數: eax =所產生之亂數。 函數範例: ;清除銀幕資料。 ,data randval dword ? .code call random32 mov randval, eax

Randomize 函數功能: 相關函數: 函數用法: 函數範例: call randomize 應用系統時間函數,產生亂數運算所需之亂數種子。供 Random32 與 randomrang使用。 相關函數: Dumpmem Dumpregs Random32 Randomrang 函數用法: call randomize 傳入參數: 無 回傳參數: 無 函數範例: ;產生十組亂數。 call randomize mov ecx,10 L1: call random32 ; 儲存eax亂數值 loop L1

Randomrang 函數功能: 相關函數: 函數用法: 函數範例: call randomrang 產生0~(n-1)之亂數。 需應用randomize產生亂數種子。 範圍n 由EAX設定 相關函數: Dumpmem Dumpregs Random32 Randomize 函數用法: call randomrang 傳入參數: EAX=n 回傳參數: eax =所產生之亂數 函數範例: ,data randval dword ? .code mov eax,5000 call randomrang ;產生0~4999之亂數 mov randval, eax

Readchar 函數功能: 相關函數: 函數用法: 函數範例: call readchar 由鍵盤輸入一字元,該字元不顯示於銀幕。 輸入時只由鍵盤讀取一字元。 相關函數: Readhex Readint Readstring Writechar Writestring 函數用法: call readchar 傳入參數: 無 回傳參數: al=輸入之字元。 函數範例: ;由鍵盤輸入一字元。 .data ch byte ? .code call readchar mov ch,al

Readhex 函數功能: 相關函數: 函數用法: 函數範例: call readhex 由鍵盤輸入32位元之Hex格式之資料 。 並不會檢查數字之正確性。 相關函數: Readchar Readint Readstring Writehex Writestring 函數用法: call readhex 傳入參數: 無 回傳參數: eax=輸入之數值。 函數範例: ;由鍵盤輸入一Hex數字。 .data hexval dword ? .code call readhex mov hexval, eax

Readint 函數功能: 相關函數: 函數用法: 函數範例: call readint 由鍵盤輸入32位元之有號數之數值資料 。超出範圍(-2,147,483,648 ~ +2,147,483,647)顯示錯誤訊息。 相關函數: Readchar Readhex Readstring Writeint Writestring 函數用法: call readint 傳入參數: 無 回傳參數: eax=輸入之數值。 函數範例: ;由鍵盤輸入一Hex數字。 .data intval SDword ? .code call readint mov intval, eax

Readstring 函數功能: 相關函數: 函數用法: 函數範例: call readstring 由鍵盤輸入字串。 Readchar Readhex Readint Writestring 函數用法: call readstring 傳入參數: edx=buffer之偏移值 Ecx=最大字元數=sizeof(buffer)-1 回傳參數: buffer=輸入字串。 Eax=字串字元數。 函數範例: .data buffer byte 50 DUP(0) bytecount dword ? .code mov edxoffset buffer mov ecx, (sizeof buffer)-1 call readstring mov bytecount, eax

Settextcolor 函數功能: 相關函數: 函數用法: 函數範例: call settextcolor 設定文字顏色。 黑=0 紅=4 灰=8 淡紅=12 藍=1 洋紅=5 淡藍=9 淡洋紅=13 绿=2 棕=6 淡绿=10 黃=14 青绿=3 淡灰=7 淡青绿=11 白=15 相關函數: Clrscr Clrf Gotoxy Writeint Writestring 函數用法: call settextcolor 傳入參數: eax=顏色設定 Eax=前景顏色+顏色背景*16 回傳參數: 無 函數範例: ;白色字藍底。 ; mov eax, white+(blue*16) mov eax, 15+(1*16) call settextcolor

Waitmsg 函數功能: 相關函數: 函數用法: 函數範例: call waitmsg 程式停止執行,等待輸入[enter]。 並顯示”press[enter] to continue…”。 相關函數: Writechar Writestring Gotoxy Settextcolor 函數用法: call waitmsg 傳入參數: 無 回傳參數: 無 函數範例: ;程式停止執行等待輸入[enter]。 call waitmsg

Writebin 函數功能: 相關函數: 函數用法: 函數範例: call writebin 輸出32bit資料,以binary之格式。 Readhex Waitmsg Writechar Writehex Writestring 函數用法: call writebin 傳入參數: eax=待輸出資料 回傳參數: 無 函數範例: ;以binary之格式輸出資料。 mov eax, 17 call writebin

Writechar 函數功能: 相關函數: 函數用法: 函數範例: call writechar 輸出一字元。 Readchar Waitmsg Writebin Writeint Writestring 函數用法: call writechar 傳入參數: al=待輸出之字元 回傳參數: 無 函數範例: ;輸出’a’。 mov al, ‘a’ call writechar

Writedec 函數功能: 相關函數: 函數用法: 函數範例: call Clrscr 輸出32bit之無號整數 (十進位格式)。 Readint Waitmsg Writebin Writehex Writestring 函數用法: call Clrscr 傳入參數: eax=待輸出數值 回傳參數: 無 函數範例: ;輸出295。 mov eax, 295 call writedec

Writehex 函數功能: 相關函數: 函數用法: 函數範例: call writehex 輸出32bit之整數 (十六進位格式)。 Readhex Waitmsg Writebin Writehex 函數用法: call writehex 傳入參數: eax =待輸出數值 回傳參數: 無 函數範例: ;輸出7FFFh。 mov eax, 7FFFh call writehex

Writeint 函數功能: 相關函數: 函數用法: 函數範例: call writeint 輸出32bit之有號整數 (十進位格式)。 Readint Waitmsg Writestring 函數用法: call writeint 傳入參數: eax =待輸出數值 回傳參數: 無 函數範例: ;輸出216543。 mov eax, 216543 call writeint

Writestring 函數功能: 相關函數: 函數用法: 函數範例: call writestring 輸出字串,字串須以null(數值=0)結尾。 相關函數: Readchar Readstring Waitmsg Writechar Writestring 函數用法: call writestring 傳入參數: edx=字串之偏移值 回傳參數: 無 函數範例: ;輸出prompt。 .data prompt byte ”enter your name:“,0 .code mov edx, offset prompt call writestring