久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2426|回復: 0
收起左側

微機原理里面的練習程序

[復制鏈接]
ID:209160 發表于 2017-6-8 12:36 | 顯示全部樓層 |閱讀模式
  1. DIS  MACRO  LOCAT,CODE   ;設置圖形顯示宏定義
  2.       PUSH  DX
  3.       PUSH  BX
  4.       PUSH  AX
  5.       MOV  DX,LOCAT        ;設置光標位置
  6.       MOV  BH,00
  7.       MOV  AH,02H
  8.       INT  10H
  9.       MOV  DL,CODE         ;輸出字符串
  10.       MOV  AH,02H
  11.       INT  21H
  12.       POP  AX
  13.       POP  BX
  14.       POP  DX
  15.        ENDM

  16. DAT  SEGMENT          ;設置數據段
  17. BUF  DB  'INPUT  START  RESET  END  CONTINUE

  18.     ;設置功能說明
  19. BUFFER  DB  10 DUP(?)            ;定義緩存區
  20. TIP  DB 'M E M O R Y

  21.               ;定義記憶提示
  22. NUM  DB  1                     
  23. LOD  EQU  0929H
  24. DAT  ENDS
  25. COD  SEGMENT                 ;定義代碼段
  26. START  PROC  FAR
  27. ASSUME  CS:COD,DS:DAT      
  28. MOV  AX,DAT
  29. MOV  DS,AX
  30. MOV  DX,OFFSET  BUF          ;輸出功能說明
  31. MOV  AH,09H
  32. INT  21H
  33. CALL  DISMER                  ;記憶區提示符置光標
  34. MOV  DX,OFFSET  TIP           ;輸出記憶提示字符
  35. MOV  AH,09H
  36. INT  21H
  37. CALL  CLR             ;圖形區清屏并設置顏色
  38. CALL  CLRDAT          ;秒表數字區清屏并設置顏色
  39. CALL  CLRMER          ; 記憶區清屏并設置顏色
  40. DIS  0419H,'<'            ;通過宏調用顯示圖形
  41. DIS  0517H,'<'
  42. DIS  0715H,'<'
  43. DIS  0914H,'<'
  44. DIS  0B14H,'<'
  45. DIS  060EH,'_'
  46. DIS  0710H,'_'
  47. DIS  0812H,'_'
  48. DIS  0913H,'_'
  49. DIS  0A14H,'_'
  50. DIS  0915H,'_'
  51. DIS  0816H,'_'
  52. DIS  0718H,'_'
  53. DIS  061AH,'_'
  54. DIS  071CH,'*'
  55. DIS  081EH,'*'
  56. DIS  091FH,'*'
  57. DIS  0B20H,'*'
  58. DIS  0D21H,'*'
  59. DIS  0F21H,'*'
  60. DIS  1120H,'*'
  61. DIS  131FH,'*'
  62. DIS  141EH,'*'
  63. DIS  151DH,'*'
  64. DIS  161BH,'*'
  65. DIS  1719H,'*'
  66. DIS  1717H,'_'
  67. DIS  1616H,'_'
  68. DIS  1514H,'_'
  69. DIS  1612H,'_'
  70. DIS  1711H,'_'
  71. DIS  170EH,'*'
  72. DIS  160CH,'*'
  73. DIS  150BH,'*'
  74. DIS  140AH,'*'   
  75. DIS  1309H,'*'
  76. DIS  1108H,'*'
  77. DIS  0F07H,'*'
  78. DIS  0D07H,'*'
  79. DIS  0B08H,'*'
  80. DIS  0909H,'*'
  81. DIS  080AH,'*'
  82. DIS  070CH,'*'
  83. DIS  0C12H,'_'
  84. DIS  0C13H,'_'
  85. DIS  0C14H,'_'
  86. DIS  0C15H,'_'
  87. DIS  0C16H,'_'
  88. CALL  GO                        ;設置初植
  89. LOAD:  CALL  IOSET                 ;光標定位
  90. CALL  HALT                         ;等待輸入
  91. MOV  DX,0
  92. MOV  CH,0
  93. AGAIN:                                 
  94. CALL  TIME                          ;調用延時程序
  95. MOV  AL,DL                           ;百分之一秒加一
  96. ADD  AL,1
  97. DAA
  98. JC  NEXT1                              ;滿一百進位
  99. MOV   DL,AL
  100. JMP  DISPY                             ;不滿一百顯示
  101. NEXT1:  MOV  DL,0
  102. MOV  AL,DH                           ;秒位加一
  103. ADD  AL,1
  104. DAA
  105. MOV  DH,AL
  106. CMP  AL,60H                             
  107. JNE  DISPY
  108. CALL  BELL                              ;滿60提示鈴聲并進位
  109. MOV  DH,0
  110. MOV  AL,CH                               ;分位加一
  111. ADD  AL,1
  112. DAA
  113. MOV  CH,AL
  114. CMP  AL,60H
  115. JNE  DISPY                                      ;滿60清零
  116. MOV  CH,0
  117. DISPY:                          ;顯示電子秒表
  118. MOV  BX,OFFSET  BUFFER        ;取緩沖區地址     
  119. MOV  AL,CH
  120. CALL  TRAN                       ;將分位轉變為ASCII碼并送緩沖區
  121. INC  BX
  122. INC  BX
  123. MOV  AL,DH                      ;將秒位轉變為ASCII碼并送緩沖區
  124. CALL  TRAN
  125. INC  BX
  126. INC  BX
  127. MOV  AL,DL                      ;將百分之一秒位轉變為ASCII碼并送緩沖區
  128. CALL  TRAN
  129. PUSH  BX
  130. PUSH  CX
  131. PUSH  DX
  132. CALL  IOSET                     ;光標置位
  133. MOV  DX,OFFSET  BUFFER       ;輸出緩沖區字符串
  134. MOV  AH,09H
  135. INT  21H
  136. POP  DX
  137. POP  CX
  138. POP  BX
  139. MOV  AH,0BH                     ;等待鍵盤輸入
  140. INT  21H
  141. AND  AL,AL
  142. JZ  AGAIN
  143. MOV  AH,08H
  144. INT  21H
  145. CMP  AL,'R'                        ;判斷輸入是否為R
  146. JNE  NEXT2                        ;不是則判斷是否為E
  147. CALL  MEMORY                    ;若是則調用記憶功能保存當前值
  148. MOV  CH,0                          ;初值清零重新計數
  149. MOV  DL,0
  150. MOV  DH,0
  151. JMP  AGAIN
  152. NEXT2:
  153. CMP  AL,'E'                        ;判斷是否為E
  154. JNE  AGAIN                        ;不是則繼續計數
  155. NEXT3:                            ;若是則暫停計數
  156. MOV  AH,08H
  157. INT  21H
  158. CMP  AL,'C'                         ;判斷是否輸入C
  159. JE  AGAIN                          ;若是則繼續計數
  160. CMP  AL,'R'                         ;判斷是否輸入R
  161. JNE  NEXT3                         ;若不是則繼續等待輸入
  162. CALL MEMORY                      ;若是則調用記憶功能
  163. CALL  GO                           ;重新設置初值等待重新啟動
  164. CALL  IOSET
  165. MOV  DX,OFFSET  BUFFER
  166. MOV  AH,09H
  167. INT  21H
  168. JMP  LOAD
  169. RET
  170. START  ENDP
  171. GO  PROC                    ;設置初值子程序
  172. MOV  BX,OFFSET  BUFFER
  173. MOV  AL,'0'
  174. MOV  [BX],AL
  175. INC  BX
  176. MOV  AL,'0'
  177. MOV  [BX],AL
  178. INC  BX
  179. MOV  AL,':'
  180. MOV  [BX],AL
  181. INC  BX
  182. MOV  AL,'0'
  183. MOV  [BX],AL
  184. INC  BX
  185. MOV  AL,'0'
  186. MOV  [BX],AL
  187. INC  BX
  188. MOV  AL,':'
  189. MOV  [BX],AL
  190. INC  BX
  191. MOV  AL,'0'
  192. MOV  [BX],AL
  193. INC  BX
  194. MOV  AL,'0'
  195. MOV  [BX],AL
  196. INC  BX
  197. MOV  AL,'


  198. MOV  [BX],AL
  199. RET
  200. GO  ENDP
  201. IOSET  PROC
  202. MOV  DX,0F10H
  203. MOV  BH,00
  204. MOV  AH,02H
  205. INT  10H
  206. RET
  207. IOSET   ENDP
  208. HALT  PROC
  209. MOV  AH,08H
  210. INT  21H
  211. CMP  AL,'S'
  212. JNE  HALT
  213. RET
  214. HALT  ENDP
  215. TRAN  PROC                       ;十六進制轉ASCII碼子程序
  216. MOV  CL,AL
  217. SHR  AL,1
  218. SHR  AL,1
  219. SHR  AL,1
  220. SHR  AL,1
  221. OR  AL,30H
  222. MOV  [BX],AL
  223. INC  BX
  224. MOV  AL,CL
  225. AND  AL,0FH
  226. OR  AL,30H
  227. MOV  [BX],AL
  228. RET
  229. TRAN  ENDP
  230. TIME  PROC                    ;延時子程序
  231. PUSH  CX
  232. PUSH  AX
  233. MOV  AX,0EFH
  234. MOV  CX,0FFFFH
  235. A1:
  236. DEC  AX
  237. JNZ  A2
  238. JMP  A3
  239. A2:
  240. DEC  CX
  241. JNZ  A2
  242. JMP  A1
  243. A3:
  244. POP  AX
  245. POP  CX
  246. RET
  247. TIME  ENDP
  248. MEMORY   PROC                     ;記憶功能子程序
  249. PUSH  DX
  250. PUSH  BX
  251. PUSH  AX
  252. CMP  NUM,10
  253. JE  X2
  254. ADD  NUM,1
  255. X1:
  256. MOV  DX,LOD
  257. ADD  DH,NUM
  258. MOV  BH,00
  259. MOV  AH,02H
  260. INT  10H
  261. MOV  DX,OFFSET  BUFFER
  262. MOV  AH,09H
  263. INT  21H
  264. POP  AX
  265. POP  BX
  266. POP  DX
  267. RET
  268. X2: CALL  CLRMER
  269. MOV  NUM,1
  270. JMP  X1
  271. MEMORY  ENDP
  272. CLR  PROC                        ;圖形區清屏并設置顏色子程序
  273. MOV  AH,06H
  274. MOV  AL,14H
  275. MOV  CX,0401H
  276. MOV  DX,1721H
  277. MOV  BH,0CH
  278. INT  10H
  279. RET
  280. CLR  ENDP
  281. CLRDAT  PROC                      ;數據區清屏并設置顏色子程序
  282. MOV  AH,6
  283. MOV  AL,1
  284. MOV  CX,0F10H
  285. MOV  DX,0F18H
  286. MOV  BH,0BH
  287. INT 10H
  288. RET
  289. CLRDAT  ENDP
  290. CLRMER  PROC                         ;記憶區清屏并設置顏色子程序
  291. PUSH  AX
  292. PUSH  BX
  293. PUSH  CX
  294. PUSH  DX
  295. MOV  AH,6
  296. MOV  AL,11
  297. MOV  CX,0929H
  298. MOV  DX,0F32H
  299. MOV  BH,0DH
  300. INT  10H
  301. POP  DX
  302. POP  CX
  303. POP  BX
  304. POP  AX
  305. RET
  306. CLRMER  ENDP
  307. DISMER   PROC                         ;記憶提示顯示子程序
  308. MOV  AH,02H
  309. MOV  BH,00
  310. MOV  DX,0728H
  311. INT 10H
  312. RET
  313. DISMER  ENDP
  314. BELL  PROC                            ;滿分鐘提示音設置子程序
  315. PUSH  AX
  316. PUSH  DX
  317. MOV  AL,07H
  318. MOV  DL,AL
  319. MOV  AH,02H
  320. INT  21H
  321. POP  DX
  322. POP  AX
  323. RET
  324. BELL  ENDP
  325. COD  ENDS                          ;結束代碼段
  326. END  START                         ;結束源程序

復制代碼


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天干天天爽 | 99久久久无码国产精品 | 亚洲性视频 | 日本久久久影视 | 欧美黑人一区二区三区 | 7777久久 | 日本三级在线网站 | 超碰在线网站 | 日本精品免费在线观看 | 中文字幕不卡在线观看 | 久久精品在线播放 | 看一级毛片 | 国产精品一区二区三区久久久 | 日韩有码一区 | 天天操天天插 | 国产亚洲欧美日韩精品一区二区三区 | 欧美色a v | 精品成人av | 九九伊人sl水蜜桃色推荐 | 国产成人网 | 国产视频91在线 | 暖暖日本在线视频 | 国产高清视频一区二区 | 91精品一区二区三区久久久久 | 亚洲视频一区在线观看 | 欧美日一区| 欧美黄色片 | 在线精品一区二区 | 精品99久久 | 久久久噜噜噜www成人网 | 97国产精品视频 | 在线视频一区二区三区 | 亚洲一区二区三区四区在线观看 | 国产高清视频在线 | 欧美日在线 | 91精品国产日韩91久久久久久 | 中文字幕在线观看精品 | 亚洲精彩视频在线观看 | 欧美亚洲国产日韩 | 亚洲成人三级 | 成年无码av片在线 |