急求电梯的汇编程序代码

程序设计要求:楼房共九层;在2-8层有上、下楼呼叫按钮,1层有上楼呼叫,9层有下楼呼叫(用鼠标点击);电梯内有开、关门控制,可通过键盘输入1-9指定所去楼层;电梯根据呼叫请求按一定的策略运... 程序设计要求: 楼房共九层; 在2-8层有上、下楼呼叫按钮,1层有上楼呼叫,9层有下楼呼叫(用鼠标点击); 电梯内有开...
急求电梯的汇编程序代码
经过两天的编写,,写了一个大概样子吧
功能如下:1,先假设没上楼之前,楼层运行看不到(没图形),可以当做随机看待。
2。当在某层按电梯开关后,在屏幕显示电梯停到该指定楼层的图形状态。
3。随后可以按想去的楼层,在屏幕显示电梯运动过程,,
4,可选择是否还执行本程序(坐电梯)
汇编运行本程序过程:
FLOOR YOU SIT NOW(1-9H): (输入某要在的楼层)
FLOOR YOU WANT GO(1-9H); (输入某想去的楼层)
WANT EXPERIENCE AGAIN(Y/N).. (选择是否继续)

源程序如下:(其中由于时间有限解释得不是很细)

;用于在模拟楼房方框左边显示楼层号码
.8086
FNUM MACRO
LOCAL ML1
PUSH CX
PUSH AX
PUSH DX
PUSH SI
MOV CH,13H
MOV CL,31H
MOV SI,9
ML1: MOV AH,02H
MOV DH,CH
MOV DL,1FH
INT 10H
MOV AH,02H
MOV DL,CL
INT 21H
DEC CH
INC CL
DEC SI
JNZ ML1
POP SI
POP DX
POP AX
POP CX

ENDM

;用于显示未上电梯时的模拟状态图形
SITUATION MACRO NOWF
LOCAL L1,L2,L3,L4,L5,L6,L7,L8,PASS1
MOV AH,03H
INT 10H
FNUM
MOV AH,02H
INT 10H
MOV SI,101H
L0: MOV AH,0CH
MOV DX,LASTF
MOV CX,SI
MOV AL,0
INT 10H
INC SI
CMP SI,120H
JNE L0
MOV BH,1H
MOV SI,100H
L1: MOV AH,0CH
MOV DX,20H
MOV CX,SI
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,120H
JNE L1
MOV SI,20H
MOV BH,1H
L2: MOV AH,0CH
MOV DX,SI
MOV CX,100H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L2
MOV SI,100H
MOV BH,1H
L3: MOV AH,0CH
MOV DX,9BH
MOV CX,SI
MOV AL,BH
INT 10H
INC BH
INC SI
CMP SI,120H
JNE L3
MOV SI,20H
MOV BH,1H
L4: MOV AH,0CH
MOV DX,SI
MOV CX,120H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L4
MOV FLAG1,1
MOV DI,NOWF ;NOWFLOOR
MOV SI,101H
L5: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,1
INT 10H
INC SI
CMP SI,120H
JNE L5
ENDM

;用于显示电梯运动
MOVEF MACRO NOWF,LASTF
LOCAL L1,L2,L3,L4,L5,L6,L7,L8,PASS1
MOV BH,1H
MOV SI,100H
L1: MOV AH,0CH
MOV DX,20H
MOV CX,SI
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,120H
JNE L1
MOV SI,20H
MOV BH,1H
L2: MOV AH,0CH
MOV DX,SI
MOV CX,100H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L2
MOV SI,100H
MOV BH,1H
L3: MOV AH,0CH
MOV DX,9BH
MOV CX,SI
MOV AL,BH
INT 10H
INC BH
INC SI
CMP SI,120H
JNE L3
MOV SI,20H
MOV BH,1H
L4: MOV AH,0CH
MOV DX,SI
MOV CX,120H
MOV AL,BH
INT 10H
ADD SI,1H
INC BH
CMP SI,9BH
JNE L4
MOV FLAG1,1
MOV DI,NOWF ;NOWFLOOR
L6: MOV SI,101H
L5: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,1
INT 10H
INC SI
CMP SI,120H
JNE L5
MOV AX,FLAG1
CMP AX,1
JNE PASS1
XOR AX,AX
MOV FLAG1,AX
MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG3
INT 21H
MOV AH,01H
INT 21H
PASS1:MOV BX,06FFH ;可修改速度
MOV CX,0FFFFH
TIME: LOOP TIME ;延时
DEC BX
CMP BX,0
JNE TIME
MOV SI,101H
L7: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,0
INT 10H
INC SI
CMP SI,120H
JNE L7
MOV AX,NOWF
CMP AX,LASTF
JA PASS2
INC DI
JMP PASS3
PASS2: CMP AX,LASTF
JNE PASS4
JMP PASS3
PASS4: DEC DI
PASS3:
CMP DI,LASTF ;LASTFLOOR
JNE L6

MOV SI,101H
L8: MOV AH,0CH
MOV DX,DI
MOV CX,SI
MOV AL,1
INT 10H
INC SI
CMP SI,120H
JNE L8

ENDM
;定义程序中要用到的数据段
DATA SEGMENT
MSG1 DB 'FLOOR YOU SIT NOW(JUST 1-9F):$'
MSG2 DB 'FLOOR YOU WANT GO(JUST 1-9F):$'
MSG3 DB 'INPUT ANY KEY TO START...$'
MSG4 DB 'WANT EXPERIENCE AGAIN (Y/N)..$'
MSGEN DB 0AH,0DH,'$'
NOWF DW ? ;NOWF变量表示原在楼层号码
LASTF DW ? ;LASTF表示目的楼层号码
FLAG1 DW 1 ;起一定小作用的变量
DATA ENDS
;定义程序中用到的堆栈段
STACK SEGMENT
BUFS DB 100 DUP(?)
TOPS LABEL WORD
STACK ENDS
;主代码段CODE1用于程序的执行或结束
CODE1 SEGMENT
ASSUME CS:CODE1, DS:DATA, SS:STACK
MAIN PROC
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV SP,TOPS
MOV AH,0H
MOV AL,04H
INT 10H
REPEAT1:
CALL FAR PTR ELEVATOR
MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG4
INT 21H
MOV AH,01H
INT 21H
CMP AL,'Y'
JE REPEAT1
CMP AL,'y'
JE REPEAT1
MOV AH,4CH
INT 21H
RET
MAIN ENDP
CODE1 ENDS
;子段码CODE2用于控制楼层状态和运动
CODE2 SEGMENT
ELEVATOR PROC FAR
ASSUME CS:CODE2, DS:DATA, SS:STACK
MOV AX,DATA
MOV DS,AX
MOV AX,SS
MOV SS,AX
REPUT1:MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG1
INT 21H
MOV AH,01H
INT 21H
CMP AL,'1'
JB REPUT1
CMP AL,'9'
JA REPUT1
SUB AL,30H
XOR AH,AH
DEC AX
MOV DX,08H
MUL DX
MOV DX,AX
MOV AX,9BH
SUB AX,DX
MOV NOWF,AX
SITUATION NOWF
REPUT2: MOV AH,09H
MOV DX,OFFSET MSGEN
INT 21H
MOV DX,OFFSET MSG2
INT 21H
MOV AH,01H
INT 21H
XOR AH,AH
CMP AL,'1'
JB REPUT2
CMP AL,'9'
JG REPUT2
SUB AL,30H
XOR AH,AH
DEC AX
XOR DX,DX
MOV DX,AX
MOV AX,08H
SUB AX,DX
MOV DX,AX
MOV AX,08H
MUL DX
ADD AX,5BH
MOV LASTF,AX
CMP AX,NOWF
JE REPUT2
MOVEF NOWF,LASTF
RETF
ELEVATOR ENDP
CODE2 ENDS
END START

;声明:由于本人能力和时间有限不能把所有的功能都完善,如有需要,可留言
;星云制作2008-09-04
经过两天的编写,,写了一个大概样子吧
功能如下:1,先假设没上楼之前,楼层运行看不到(没图形),可以当做随机看待。
2。当在某层按电梯开关后,在屏幕显示电梯停到该指定楼层的图形状态。
3。随后可以按想去的楼层,在屏幕显示电梯运动过程,,
4,可选择是否还执行本程序(坐电梯)
汇编运行本程序过程:
FLOOR
YOU
SIT
NOW(1-9H):
(输入某要在的楼层)
FLOOR
YOU
WANT
GO(1-9H);
(输入某想去的楼层)
WANT
EXPERIENCE
AGAIN(Y/N)..
(选择是否继续)
源程序如下:(其中由于时间有限解释得不是很细)
;用于在模拟楼房方框左边显示楼层号码
.8086
FNUM
MACRO
LOCAL
ML1
PUSH
CX
PUSH
AX
PUSH
DX
PUSH
SI
MOV
CH,13H
MOV
CL,31H
MOV
SI,9
ML1:
MOV
AH,02H
MOV
DH,CH
MOV
DL,1FH
INT
10H
MOV
AH,02H
MOV
DL,CL
INT
21H
DEC
CH
INC
CL
DEC
SI
JNZ
ML1
POP
SI
POP
DX
POP
AX
POP
CX
ENDM
;用于显示未上电梯时的模拟状态图形
SITUATION
MACRO
NOWF
LOCAL
L1,L2,L3,L4,L5,L6,L7,L8,PASS1
MOV
AH,03H
INT
10H
FNUM
MOV
AH,02H
INT
10H
MOV
SI,101H
L0:
MOV
AH,0CH
MOV
DX,LASTF
MOV
CX,SI
MOV
AL,0
INT
10H
INC
SI
CMP
SI,120H
JNE
L0
MOV
BH,1H
MOV
SI,100H
L1:
MOV
AH,0CH
MOV
DX,20H
MOV
CX,SI
MOV
AL,BH
INT
10H
ADD
SI,1H
INC
BH
CMP
SI,120H
JNE
L1
MOV
SI,20H
MOV
BH,1H
L2:
MOV
AH,0CH
MOV
DX,SI
MOV
CX,100H
MOV
AL,BH
INT
10H
ADD
SI,1H
INC
BH
CMP
SI,9BH
JNE
L2
MOV
SI,100H
MOV
BH,1H
L3:
MOV
AH,0CH
MOV
DX,9BH
MOV
CX,SI
查看原帖>>2019-12-12
高难度的问题,百度可能无法求解,还是建议和同事或同学共议!!2008-09-01
实验设计吧。。
呵呵 我去年做过
不过笔记丢不见了2008-08-30
mengvlog 阅读 7 次 更新于 2025-07-21 14:58:48 我来答关注问题0
  • 电梯系统需要以下几个程序功能:(1)处理电梯呼叫:乘客呼叫电梯、电梯按钮明灭、电梯控制器处理电梯呼叫、处理按钮信息更新等 (2)处理楼层呼叫:包括乘客选择楼层、楼层按钮明灭、电梯控制器处理楼层呼叫、处理按钮信息更新等 (3)移动停止电梯:包括驱动速度的改变、停止的判定、电梯的运动方向驱动 (4)...

  •  湖北倍领科技 plc和汇编的区别

    PLC,即可编程逻辑控制器,是一种性能稳定的控制器件,例如,我们日常所见的电梯,其内部控制器就是PLC。PLC编程,正如其名,就是将用户期望的功能输入给PLC,使其按此执行。常用的PLC编程语言包括梯形图和指令表,这些语言使得工程师可以直观地表达控制逻辑。另一方面,汇编程序则是一种将汇编语言书写的...

  •  翡希信息咨询 plc和汇编的区别

    应用领域:PLC:主要用于工业控制领域,如电梯的智能操作、生产线自动化等。它是稳定控制设备的核心,通过编程实现设备的自动化流程。汇编:则更偏向于底层编程,是计算机体系结构中用于将汇编语言程序转化为等效机器语言的工具。它直接与硬件相关,用于优化执行效率。编程语言:PLC:常用的编程语言包括梯形图和...

  •  翡希信息咨询 plc和汇编的区别

    应用领域:PLC:主要用于电子和自动化控制领域,如电梯控制、生产线自动化等。它是控制设备的核心,通过编程实现特定功能。汇编:主要用于将汇编语言转换为机器语言,适用于对性能有极高要求的场合,如嵌入式系统设计。汇编语言是与特定计算机架构紧密相关的低级编程语言。编程语言:PLC:常用的编程语言包括梯形...

  •  深空游戏 plc和汇编的区别

    可编程逻辑控制器PLC,稳定控制设备的核心,如电梯的智能操作,皆由PLC执行。PLC编程,意在赋予PLC特定功能,输入程序代码实现自动化流程。梯形图和指令表为常见PLC编程语言,直观易懂,高效实现控制逻辑。汇编程序,翻译器角色,将汇编语言程序转化为等效机器语言,优化执行效率。汇编语言,专为特定计算机设计...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部