匯編源碼下載
① 易語言匯編模塊源碼
一般模塊的源碼,作者是不會亂發放的,一個強大的模塊,作者都拿去賣錢了,比如:超級模塊
② 匯編語言源代碼急求!!!!!!
第一次發的還錯了,調試成功的代碼。
data segment
S db 'qwertyuiopasdfg','$' ;原字元串
S1 db 15 p (0)
db '$' ;目標字元串db '$'
data ends
assume cs:code,ds:data
code segment
start: mov ax,data ;載入DS
mov ds,ax
mov si,offset S ;字元源地址
mov dx,si ;顯示原字元
mov ah,9
int 21h
mov cx,15 ;復制S字元串到S1
mov bx,offset S1
t:
mov al,[si]
mov [bx],al
inc si
inc bx
loop t
mov si,offset S1
mov cx,15 ;計數
ss1:
mov di,si ;di指向si的下一位
inc di
mov dx,1
ss2:
cmp dx,cx ;如果dx大於等於cx跳至s4
jae ss4
mov al,[si]
cmp al,[di] ;比較[si] [di]的值如果大於交換
jbe ss3
xchg al,[di]
mov [si],al
ss3:
inc di ;為下次循環做准備
inc dx
jmp ss2
ss4:
inc si ;指向下一個字元
loop ss1
mov dl,0ah ;顯示回車換行
mov ah,2
int 21h
mov dl,0dh
int 21h
mov dx,offset S1 ;顯示升序字元串
mov ah,9
int 21h
mov ah,0 ;等待字元輸入
int 16h
mov ah,4ch ;結束
int 21h
code ends
end start
③ 求匯編語言源代碼(10進制數轉16進制數)急求急求!!!!
data segment
str db 0ah,0dh
num db 4 p(?),'H$'
tab db '0123456789ABCDEF'
data ends
code segment
assume cs:code,ds:data
begin: mov ax,data
mov ds,ax ;初始化代碼段
xor bx,bx
mov cx,10 ;進制
next: mov ah,1
int 21h
cmp al,0dh
jz conv ;如果是回車,表示輸入結束,轉換開始
push ax ;保存輸入值,當然還有AH,因為堆棧的存取必須以字為單位
mov ax,bx
mul cx
mov bx,ax ;將先前的結果向上推一位
pop ax ;取回本次輸入
and al,0fh ;屏蔽掉無用位,類SUB AL,30H
xor ah,ah ;高位歸零
add bx,ax ;合並本次輸入
jmp next
conv: mov ax,bx ;開始轉換
mov ch,4
lea bx,tab ;沒有見這個直接定址表起什麼用啊!!!
mov cl,4
lea si,num
lopa: rol ax,cl ;把高4位移到低4位
push ax
and ax,000fh ;取出低4位
mov [si],al ;按地址由低到高的順序將結果由高到底存放
inc si
pop ax
dec ch
jnz lopa
lea dx,str
mov ah,9
int 21h ;回車換行
mov ah,4ch
int 21h
code ends
end begin
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;演算法描述:
;總體來說是以二進制為中介,
;先將輸入視為十進制,轉換為二進制數保存在BX中
;然後再將這個二進制數轉換為十六進制數保存在num開始的單元中
;十進制轉換為二進制的過程:
;初始化:假設第一次輸入前的輸入為0
;對於每次輸入,將前面輸入的各位均提升一位,即百位變千位,十位變百位,個位變十位,然後當前的輸入填到個位,重復該步操作直到遇到回車符
;二進制轉換為十六進制:
;因為每4個二進制位可以由1個十六進制位表示,所以依次取出4個二進制位就可以
;①每次循環移動4位,將高4位移動到低4位後,取出低4位
;②將取出的數依次寫入num開始的單元中
;③重復①-②4次
;輸出時:(這段代碼沒有,所以我說,沒有見直接定址表起什麼用)
;從num開始以位元組為單位取數
;以得到的數字為偏移量,查表tab,得到對應的十六進制字元,輸出,重復4次
④ 易語言匯編模塊源碼
網路,找一下 超級模塊 源碼,裡面會有這些代碼的
⑤ 求匯編程序的mp3源碼(要帶注釋)
mp3.asm
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 是否包括調試代碼
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEBUG = 0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Programmed by 羅雲彬, [email protected]
; Website: http://asm.yeah.net
; LuoYunBin's Win32 ASM page (羅雲彬的編程樂園)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 版本信息
; Mp3 播放測試程序 Ver 1.0 - 2000/06/08
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat, stdcall
option casemap :none ; case sensitive
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 數據
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include G:\masm32\include\windows.inc
include G:\masm32\include\user32.inc
include G:\masm32\include\kernel32.inc
include G:\masm32\include\comctl32.inc
include G:\masm32\include\comdlg32.inc
include G:\masm32\include\winmm.inc
includelib G:\masm32\lib\user32.lib
includelib G:\masm32\lib\kernel32.lib
includelib G:\masm32\lib\comctl32.lib
includelib G:\masm32\lib\comdlg32.lib
includelib G:\masm32\lib\winmm.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 數據
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DLG_MAIN equ 1000
ID_BROWSE equ 1001
ID_FILE equ 1002
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 數據段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?
dwFlag dd ?
hWinMain dd ?
hInstance dd ?
hDevice dd ?
szBuffer db 256 p (?)
stOpenFileName OPENFILENAME <?>
.data
szCaption db "Error...",0
szError db "Error to play MP3 file!",0
szPlay db "&Play",0
szStop db "&Stop",0
szDevice db "MPEGVideo",0
szTitleSave db "Open MP3 file...",0
szExt db '*.mp3',0
szFilter db 'MP3 Files(*.mp3)',0,'*.mp3',0,'All Files(*.*)',0,'*.*',0,0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 子程序聲明
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcDlgMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代碼段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
if DEBUG
include Debug.asm
endif
include Win.asm
;********************************************************************
_GetFileName proc
mov stOpenFileName.Flags,OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST
mov stOpenFileName.lStructSize,SIZEOF stOpenFileName
mov eax,hWinMain
mov stOpenFileName.hWndOwner,eax
mov stOpenFileName.lpstrFilter,offset szFilter ;擴展名
mov stOpenFileName.lpstrFile,offset szBuffer ;文件名緩沖
mov stOpenFileName.nMaxFile,255 ;文件名緩沖長度
mov stOpenFileName.lpstrInitialDir,0
mov stOpenFileName.lpstrTitle,offset szTitleSave
mov stOpenFileName.lpstrDefExt,offset szExt
invoke GetOpenFileName,offset stOpenFileName
.if eax == FALSE
ret
.endif
invoke SetDlgItemText,hWinMain,ID_FILE,addr szBuffer
call _StopPlayMP3
ret
_GetFileName endp
;********************************************************************
_PlayMP3 proc
local @stMCIOpen:MCI_OPEN_PARMS
local @stMCIPlay:MCI_PLAY_PARMS
mov @stMCIOpen.lpstrDeviceType,offset szDevice
mov @stMCIOpen.lpstrElementName,offset szBuffer
invoke mciSendCommand,0,MCI_OPEN,MCI_OPEN_TYPE or MCI_OPEN_ELEMENT,addr @stMCIOpen
mov eax,@stMCIOpen.wDeviceID
mov hDevice,eax
mov eax,hWinMain
mov @stMCIPlay.dwCallback,eax
invoke mciSendCommand,hDevice,MCI_PLAY,MCI_NOTIFY,addr @stMCIPlay
.if eax == 0
invoke SetDlgItemText,hWinMain,IDOK,offset szStop
mov dwFlag,1
.else
invoke MessageBox,hWinMain,addr szError,addr szCaption,MB_OK
.endif
ret
_PlayMP3 endp
;********************************************************************
_StopPlayMP3 proc
local @stMCIStop:MCI_GENERIC_PARMS
mov eax,hWinMain
mov @stMCIStop.dwCallback,eax
invoke mciSendCommand,hDevice,MCI_STOP,MCI_NOTIFY,addr @stMCIStop
invoke mciSendCommand,hDevice,MCI_CLOSE,MCI_NOTIFY,addr @stMCIStop
invoke SetDlgItemText,hWinMain,IDOK,offset szPlay
mov dwFlag,0
ret
_StopPlayMP3 endp
;********************************************************************
_ProcDlgMain proc uses ebx edi esi, \
hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD
mov eax,wMsg
.if eax == WM_CLOSE
invoke EndDialog,hWnd,NULL
.elseif eax == WM_INITDIALOG
mov eax,hWnd
mov hWinMain,eax
invoke _CenterWindow,eax
invoke SendDlgItemMessage,hWinMain,ID_FILE,EM_SETREADONLY,TRUE,NULL
.elseif eax == WM_COMMAND
mov eax,wParam
.if eax == ID_BROWSE
call _GetFileName
.elseif eax == IDOK
.if dwFlag == 0
call _PlayMP3
.else
call _StopPlayMP3
.endif
.endif
.else
;********************************************************************
; 注意:對話框的消息處理後,要返回 TRUE,對沒有處理的消息
; 要返回 FALSE
;********************************************************************
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
_ProcDlgMain endp
;********************************************************************
start:
invoke InitCommonControls
invoke GetMoleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,0
invoke ExitProcess,NULL
end start
win.asm
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
.data
ClassName db "SimpleWinClass",0
AppName db "Our First Window",0
.data?
hInstance HINSTANCE ?
CommandLine LPSTR ?
.code
start:
invoke GetMoleHandle, NULL
mov hInstance,eax
invoke GetCommandLine
mov CommandLine,eax
invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT
invoke ExitProcess,eax
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
LOCAL wc:WNDCLASSEX
LOCAL msg:MSG
LOCAL hwnd:HWND
mov wc.cbSize,SIZEOF WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc, OFFSET WndProc
mov wc.cbClsExtra,NULL
mov wc.cbWndExtra,NULL
push hInstance
pop wc.hInstance
mov wc.hbrBackground,COLOR_WINDOW+1
mov wc.lpszMenuName,NULL
mov wc.lpszClassName,OFFSET ClassName
invoke LoadIcon,NULL,IDI_APPLICATION
mov wc.hIcon,eax
mov wc.hIconSm,eax
invoke LoadCursor,NULL,IDC_ARROW
mov wc.hCursor,eax
invoke RegisterClassEx, addr wc
INVOKE CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\
hInst,NULL
mov hwnd,eax
invoke ShowWindow, hwnd,SW_SHOWNORMAL
invoke UpdateWindow, hwnd
.WHILE TRUE
invoke GetMessage, ADDR msg,NULL,0,0
.BREAK .IF (!eax)
invoke TranslateMessage, ADDR msg
invoke DispatchMessage, ADDR msg
.ENDW
mov eax,msg.wParam
ret
WinMain endp
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
.IF uMsg==WM_DESTROY
invoke PostQuitMessage,NULL
.ELSE
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.ENDIF
xor eax,eax
ret
WndProc endp
end start
⑥ proteus8.9 中8086模型怎麼下載
鏈接:https://pan..com/s/1nvgjblR密碼:dafb
一、在Proteus上完成原理圖設計
1. 文件→新建工程→(按默認創建)
2. 根據實際需要畫原理圖
二、用emu8086編譯匯編源代碼
1. 打開emu8086
2. 單擊new
3. 默認選擇COM即可
4. 編輯匯編代碼並編譯(會生成exe文件)
默認在C:emu8086MyBuild生成目標文件
三、在Proteus的原理圖上雙擊cpu,在Program file添加由emu8086生成的exe文件
四、在Proteus上執行模擬
調試→運行模擬。
⑦ 求易語言 調用函數()push()這類的匯編操作源碼
超級模塊源碼。
置匯編代碼()
push(0)
push(1)
push(十六到十(「428E0000」))
push(十六到十(「431D0000」))
mov_ecx(十六到十(「77758788」))
mov_eax(十六到十(「00442840」))
call_eax()
ret()
調用函數(進程ID,取匯編代碼())
(7)匯編源碼下載擴展閱讀:
函數作為另一個函數調用的實際參數出現。這種情況是把該函數的返回值作為實參進行傳送,因此要求該函數必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調用的返回值又作為printf函數的實參來使用的。
在函數調用中還應該注意的一個問題是求值順序的問題。所謂求值順序是指對實參表中各量是自左至右使用呢,還是自右至左使用。對此,各系統的規定不一定相同。介紹printf 函數時已提到過,這里從函數調用的角度再強調一下。
⑧ 求小紅帽Linux下載地址及源碼下載地址
在經歷了兩次跳票以後, Red Hat於2007年3月14日正式發布了RHEL5. RHEL 5將是Red Hat的商業伺服器操作系統版本的第四次重要版本發布, Red Hat醞釀發布RHEL 5已經超過了兩年, 主要變化包括Linux內核由2.6.9升級為2.6.18, 支持Xen虛擬化技術, 集群存儲等.
RHEL5的版本主要分為Sever和Desktop兩個版本。
具體來說,Server版本分為:
· Red Hat Enterprise Linux Advanced Platform - 對應以前的· Red Hat Enterprise Linux AS
· Red Hat Enterprise Linux - 對應以前的Red Hat Enterprise Linux AS
Desktop版本分為:
· Red Hat Enterprise Linux Desktop - 對應以前的Red Hat Desktop
· Red Hat Enterprise Linux Desktop with Workstation option - 對應以前的Red Hat Enterprise Linux WS
主要的功能包括:
1. 虛擬化技術
在各種平台上支持虛擬化技術
在Red Hat Enterprise Linux Advanced Platform支持存儲與擴展的伺服器虛擬化技術
Red Hat Network提供各種虛擬化系統的支持
virt-manager, libvirt/virsh管理工具
2. 內核與性能
基於Linux 2.6.18內核
支持多核處理器
廣泛的新硬體支持
更新的基於Kexec/Kmp的Dump支持
支持Intel Network Accelerator Technology (IOAT)
對於大型SMP系統技持的增強
增強的管道緩存
內核緩存接合能力用於改進IO緩存操作
3. 安全
SELinux增強
圖形化SELinux管理界面
集成的目錄和安全機制
增強的IPESEC提高安全與性能
新的審計機制用於提供新的搜索、報表和實時監控的能力
4. 網路與互操作性
支持Autofs, FS-Cache和iSCSI
增強的IPv6支持
改進的Microsoft®文件/列印和Active Directory集成
5. 桌面
更新的管理工具、應用程序和對筆記本的支持
改進的ACPI支持,包括Suspend to Disk
智能卡登錄,包括PKI/Kerberos認證
集成的多媒體支持
增強的即插即用支持
Network Manager提供自動的有線和無線網路配置
基於AIGLX/Compiz的圖形化界面(支持淡化、透明等效果)
6. 開發環境
增強的開發工具,包括System Tap和Frysk
GCC4.1和glibc 2.5工具鏈
7. 存儲
支持根設置多路IO(MPIO),提高可用性
伺服器產品中包含單系統/客戶的Red Hat Global File System支持
塊設備數據加密支持
8. 管理
安裝過程更新簡化系統配
基於Yum/Pup的Red Hat Network更新
Conga集群和存儲管理
http://download.chinaunix.net/download/0013000/12382.shtml
⑨ 怎麼編譯連接16位的匯編程序
如果是寫16位匯編,下載masm5.0(微軟的16位宏匯編包),網路一下就有下載!使用masm.exe編譯16位匯編源代碼生成*.obj文件,在用link.exe連接生成16位可執行文件*.exe。在32位機器上是可以寫16位程序的,因為x86的計算機體系就是為了兼容低階程序而存在的,計算機在啟動的時候就是以實模式(可以簡單理解為16位的)啟動的,之後操作系統才使用機器指令轉向32位保護模式(因為這樣從硬體級支持多任務)。編寫16位、32位、以及64位匯編程序只要下載安裝相應的匯編包就可以了。
⑩ 求匯編語言源代碼
輸入、顯示,使用二進制數?