数学题,求求大家帮帮我啦,我急用,明早就要!
push ax初一的数学题啊
1322游戏_1322游戏盒现在怎么样了
1322游戏_1322游戏盒现在怎么样了
好可爱
若一个数的平方等于它本身,则这个数是__0,1,-1__
若一个数的立方等于它本身,则这个数是1,-1__Didas equ 18 ;延时(时钟嘀嗒次数)____
若一个数的倒数等于他本身,则这个数是____1,-1____
好看的....无论仙侠,网游,耽美,言情。都可以
cmp al,'8'网游]从零开始 雷云风暴 5月12日 70Delay EndP488
已发送,请接收
一帘幽梦 琼 瑶
梦里花里知多少 郭敬明
汇编语言程序设计
mov ah,02h发声
; dw 441,495,556,589,661,742,833 ;从其它音乐程序抄来的频率值; 按键说明:
; 1、不输入任何数字,直接按回车键,结束程序,返回作系统
; 2、每次最多能够输入N(本程序,N=8)个数字(1~8)
; 3、不足8位数字的,按回车结束输入
; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。
Code Segment
Assume CS:Code,DS:Code
CR EQU 000DH
LF EQU 000AH
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
; 功能:输出一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
int 21h
pop ax
ret
Output_Chr endp
; -------------------------------------
; 功能:输出回车换行
Output_CTLF proc Near
push dx
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF endp
; -------------------------------------
; Subroutine 延时指定的时钟嘀嗒数
; 入口:
; Didas=时钟嘀嗒数(1秒钟约嘀嗒18.2次,10秒钟嘀嗒182次。若延时不是秒的10数次倍,误稍微大点)
Delay Proc Near
push dx
push cx
xor ax,ax
int 1ah
mov Times,dx
mov Times[2],cx
Read_Time: xor ax,ax
int 1ah
sub dx,Times
b cx,Times[2]
cmp dx,Didas
jb Read_Time
pop cx
pop dx
ret
Times dw 0,0
; -----------------------------------------
; 功能:从键盘输入N位数字
; 入口:N=数字位数;di=保存输入的数字首地址
; 出口:cx=实际接收的数字位数
Input_Digit Proc Near
cld
mov cx,N
@@Input: mov ah,1
int 21h
cmp al,CR
jz @@Return
cmp al,'1'
jb @@Input
ja @@Input
sto
loop @@Input
@@Return: mov ax,N
sub ax,cx
xchg ax,cx
ret
Input_Digit EndP
; -----------------------------------------
; 入口参数
; SI=声音频率地址
; CX=时间
Music Proc Near
in al,61h
or al,3
out 61h,al ;接通扬声器
push cx
push dx
push si
mov al,0b6h
out 43h,al
mov dx,12h
mov ax,348ch
div word ptr [si]
out 42h,al
mov al,ah
out 42h,al
in al,61h
mov ah,al
or al,3
out 61h,al
mov cx,3314
@@Waitf1: in al,61h
and al,10h
cmp al,ah
jz @@Waitf1
mov ah,al
loop @@Waitf1
pop ax
call Delay ;延时
mov al,ah
out 61h,al ;关闭扬声器
pop si
pop dx
pop cx
pop ax
out 61h,al
ret
Music EndP
; -----------------------------------------
frequency dw 262,294,330,349,392,440,492,524 ;频率值
; dw 882,990,1112,1178,1322,1484,1655 ;同上行
N equ 8
PromptStr db 'Please Enter ',N or 30h,' digitals(1-8): $'
Number db N dup(?)
Press_Key db CR,LF,CR,LF,'Press any key to exit...$'
; -----------------------------------------
Start: push cs
pop ds
push cs
pop es ;使数据段、附加段与代码段同段
Input_Str: Output PromptStr ;提示输入N位数字
lea di,Number ;数字保存地址
call Input_Digit ;从键盘接收数字
call Output_CTLF ;输出一个回车、换行
call Output_CTLF ;输出一个回车、换行
jcxz Exit_Proc
lea bx,Number ;数字保存地址
Sound: push cx
push bx
mov dl,[bx] ;读入一个数字
call Output_Chr ;屏幕显示这个数字
and dl,0fh
dec dl
shl dl,1
mov bl,dl
mov dl,0eh
call Output_Chr ;显示一个音乐符号
mov dl,20h
call Output_Chr ;显示一个空格
lea si,frequency[bx] ;对应的频率值地址
call Music ;激活扬声器,使之发出指定频率、指定时长的声音
pop bx
inc bx ;增1,处理下一个音符
pop cx
loop Sound
call Output_CTLF ;输出一个回车、换行
call Output_CTLF ;输出一个回车、换行
jmp Input_Str
; -------------------------------------
Exit_Proc: Output Press_Key ;提示作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束