汇编源码下载
① 易语言汇编模块源码
一般模块的源码,作者是不会乱发放的,一个强大的模块,作者都拿去卖钱了,比如:超级模块
② 汇编语言源代码急求!!!!!!
第一次发的还错了,调试成功的代码。
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位汇编程序只要下载安装相应的汇编包就可以了。
⑩ 求汇编语言源代码
输入、显示,使用二进制数?