[急求用汇编语言实现1至100的累加运算]写一个子程序 用CX作为入口参数 BX作为出口参数存放结果 mov cx,100 call leijia 如果是累加到1000 mov cx,1000 call leijia 还有就是记的保护现场 leijia proc mov dx,1 m...+阅读
; 求1~1000之间的所有素数
CODE SEGMENT
ASSUME CS:CODE
COUNT DW 0
START: PUSH CS
POP DS
PUSH CS
POP ES
MOV WORD PTR COUNT,0
MOV CX,1000
MOV SI,1
MLP:
MOV AX,SI
CALL F
CMP AX,1
JNE 1
INC WORD PTR COUNT
MOV AX,SI
CALL DSPAX
1:
INC SI
LOOP MLP
MOV AX,COUNT
CALL DSPAX
MOV AH,4CH
INT 21H
;====================================
; 要判断的数放入ax中
; ax返回1时表示是素数
; ax返回0时表示是合数
F PROC NEAR
JMP F1
X DW ?
X2 DW ?
F1: CMP AX,1
JZ F2
CMP AX,2
JZ F11
CMP AX,3
JZ F11
MOV X,AX
SHR AX,1
MOV X2,AX
MOV BX,2
FLP: MOV DX,0
MOV AX,X
DIV BX
CMP DX,0
JZ F2
INC BX
CMP BX,X2
JBE FLP
F11: MOV AX,1
RET
F2: MOV AX,0
RET
F ENDP
;=================================
DSPAXS PROC NEAR
PUSH AX
TEST AX,8000H
JNS DSPAXS1
PUSH AX
PUSH DX
MOV AH,2
MOV DL,'-'
INT 21H
POP DX
POP AX
NEG AX
DSPAXS1:
CALL DSPAX
POP AX
RET
DSPAXS ENDP
;===============================
DSPAX PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSHF
XOR CX,CX
MOV BX,10
DSPAX1:
XOR DX,DX
DIV BX
INC CX
OR DX,30H
PUSH DX
CMP AX,0
JNE DSPAX1
MOV AH,2
DISPAX2:
POP DX
INT 21H
LOOP DISPAX2
MOV DL,32
INT 21H
POPF
POP DX
POP CX
POP BX
POP AX
RET
DSPAX ENDP
;==================================
CODE ENDS
END START
以下为关联文档:
用汇编语言编写将一个包含10个带符号数的数组分成正数数组和负数DATA SEGMENTNUM DB 1,2,...,10 ;这个你随便写10个字节的数据P DB 10 DUP(?) ;正数组PNUM DB 0 ;正计数N DB 10 DUP(?) ;负数组NNUM DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:D...
用汇编语言编写程序;MIMA ;================================== DATA SEGMENT BUF1 DB 'HAPPY!' BUF3 DB 10, 13, 'PLEASE INPUT PASSWORD : $' BUF4 DB 10, 13, 'ERROR ! $' BUF5 DB 6 DUP(?)...
用汇编语言编写一个简单程序1.计算U=(X+(Y*Z-100))/W 其中:X,Y,Z,W均为十六位有符号数。 程序如下: DATA SEGMENT X DW 10 ;16位变量 Y DW 20 Z DW 30 W DW 40 U DW ?,? DATA ENDS CODE SEGMENT ASSUME C...
如何用汇编语言写一个从1加到100的程序参考如下的代码: CODE SEGMENT ASSUME CS:CODE START: ;--------------------------------- MOV AX, 0 MOV CX, 100 S: ADD AX, CX LOOP S ;-----基本的,就上面四行---- MOV AH...
用汇编语言做单片机时钟显示基于c8051f020单片机最小系统的实时时钟显示程序c8051f020 FYD12864-0402B LCD显示,按键电子时钟//#include#include#include#define uchar unsigned charvoid lcd_ini();voi...
用汇编语言编写一个时钟程序能显示时分秒的还要有秒表就是计STACK1 SEGMENT STACK DW 200 DUP (?) STACK1 ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0...
怎么用汇编语言把系统时间给显示出来?急用!顺便能给注释吗cursor equ 45Hattrib equ 2fhcode segment assume cs:code,ds:codestart: jmp gooldcur dw ?OLD1C DW 2 DUP(?)NEWINT1C: PUSHF CALL DWORD PTR CS:OLD1C push ax PUSH BX...
求一个用汇编语言编写时钟的程序只要能在pc机上显示时分秒就行1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 5...
用汇编语言乘法指令实现两个字节相乘的程序并转换成十六进制数显示code segment assume cs:code org 100h start: jmp bbb x db 11h y db 12h z dw ? msg1 db 13,10,' ','$' bbb: push cs pop ds push cs pop es mov al,x mov bl,y mul bl m...