微机原理阶梯电价.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理阶梯电价

阶梯电价源代码 ?;注意,附加实验和上课讲的过程调用例程不完全一致,附加实验基本说明如下: ?;1、编写子程序,读入20名用户的用电量,并且存在某段单元中。 ?;2、编写子程序,获得上一步的最大值。 ?;3、编写子程序,根据阶梯电价函数,求取最大用电量用户应付价格。 ?;定义堆栈段 STACK SEGMENT STACK STACK STA DB 200 DUP(?) TOP EQU LENGTH STA STACK ENDS ;定义数据段 data segment tolnum equ 20 price dd 0 max dw 0 users dw tolnum dup(?) input db input the number, 0ah, 0dh, $ keynum dw ? inputnums dw 0 perprice1 dw 49 perprice2 dw 54 perprice3 dw 79 dianliang dw 0 step1 equ 200 step2 equ 340 data ends ;代码段 code segment assume cs:code, ds:data, ss:STACK ;dec2bin过程定义 从键盘读数,转成二进制,存入users ;入口参数:无 ;出口参数:users (keynum和inputnums是局部变量) ;用到的子程序:1号功能调用 ;用到的寄存器:ax, bx, cx, dx, si dec2bin proc near ??? push ax ??? push bx ??? push cx ??? push dx ??? push si ???? ??? mov si, 0 ??? mov bx, 10 ??? mov cx, tolnum ??? mov dx, offset input ??? mov ah, 09h ??? int 21h nextuser: ??? mov ax, 0 ??? mov inputnums, ax ??? mov keynum, ax nextkey: ??? mov ah, 1 ??? int 21h ??? cmp al, 20h ??? jz detectspace ??? sub al, 30h ??? cmp al, 0 ??? jb exit ??? cmp al, 9 ??? ja exit ??? cbw ??? mov keynum, ax ??? mov ax, inputnums ??? mul bx ??? add ax, keynum ??? mov inputnums, ax ??? jmp nextkey detectspace: ??? mov ax, inputnums ??? mov users[si], ax ??? inc si ??? inc si ??? loop nextuser exit: ??? pop si ??? pop dx ??? pop cx ??? pop bx ??? pop ax ??? ret dec2bin endp ;GetMax 从users中寻求最大值,存入Max ;入口参数:users ;出口参数:max ;用到的子程序 ;用到的寄存器:ax, bx, cx, si GetMax proc near ??? push ax ??? push bx ??? push cx ??? push si ???? ??? mov si, 0 ??? mov cx, tolnum ??? mov bx, max ??? mov ax, users[si] ???? goon: ??? mov ax, users[si] ??? cmp ax, bx ??? jb smaller ??? mov bx, ax smaller: ??? inc si ??? inc si ??? loop goon ??? mov max, bx ???? ??? pop si ??? pop cx ??? pop bx ??? pop ax ??? ret GetMax endp ;GetPrice将dianliang映射为price ;入口参数:dianliang, perprice1, perprice2, perprice3 ;出口参数:price ;用到的子程序 ;用到的寄存器:ax, dx GetPrice proc near ??? push ax ??? push dx ??? cmp dianliang, step1 ??? ja largerthan200 ??? mov ax, perprice1 ??? jmp cal largerthan200: ??? cmp

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档