摘要:本文分析了匯編語(yǔ)言程序設(shè)計(jì)課程的教學(xué)重點(diǎn),歸納、篩選出該課程的五種考試題型,對(duì)該課程的試題庫(kù)組建與考試系統(tǒng)的設(shè)計(jì)進(jìn)行了總結(jié)探討,提出并論述了標(biāo)準(zhǔn)試卷模板、四色原理和人工智能原理在試題庫(kù)構(gòu)建、試卷生成、自動(dòng)判分等問(wèn)題域的應(yīng)用問(wèn)題。
關(guān)鍵詞:匯編語(yǔ)言;試題庫(kù);在線考試;標(biāo)準(zhǔn)試卷模板;四色原理;AI;專(zhuān)家系統(tǒng)
中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913 (2007) 20-0056-06
1引言
現(xiàn)代課程論首次將泰勒的“評(píng)價(jià)”原理引入課程論[1],試圖通過(guò)評(píng)價(jià)改進(jìn)課程、改進(jìn)教學(xué)。課終考試則是課程評(píng)價(jià)的基本手段。考試這根“指揮棒”的作用誰(shuí)也難以抗拒。畢竟考什么和怎樣考會(huì)直接影響教師教什么、怎樣教,以及學(xué)生學(xué)什么、怎樣學(xué)。難怪有訪問(wèn)學(xué)者撰文介紹美國(guó)某高校的情況,竟是“為考試而教,為考試而學(xué)”[2]。仔細(xì)讀過(guò)這篇文章,您會(huì)發(fā)現(xiàn)“為考試而教而學(xué)”的口號(hào)并不等同于“應(yīng)試教育”,而是要通過(guò)科學(xué)的確定考試內(nèi)容和考試安排,加強(qiáng)教學(xué)的針對(duì)性,提高教學(xué)質(zhì)量。目前相對(duì)于其他論題,計(jì)算機(jī)專(zhuān)業(yè)的考試研究的文章發(fā)表得不多。本文擬對(duì)“匯編語(yǔ)言程序設(shè)計(jì)”課程的考試命題與試題庫(kù)組建進(jìn)行探討。
2教學(xué)重點(diǎn)
一門(mén)課程的教學(xué)重點(diǎn)乃是該課程命題的主要依據(jù)。一份好的試卷應(yīng)能體現(xiàn)對(duì)課程基本結(jié)構(gòu)的要求,包括該課程的基本知識(shí)、基本規(guī)律和基本方法。匯編語(yǔ)言課程的教學(xué)重點(diǎn)是什么呢?當(dāng)然是讀、寫(xiě)程序。這是程序設(shè)計(jì)語(yǔ)言課程的共同點(diǎn)。為了用匯編語(yǔ)言寫(xiě)程序,又必須首先了解計(jì)算機(jī)硬件結(jié)構(gòu)、數(shù)制與編碼等基礎(chǔ)知識(shí),必須熟悉CPU的指令系統(tǒng),還要有上機(jī)實(shí)驗(yàn)緊密配合?,F(xiàn)將匯編語(yǔ)言課程教學(xué)重點(diǎn)列于表1。
注:表格中*部分內(nèi)容為本科層次提高內(nèi)容
3試卷設(shè)計(jì)
3.1題型設(shè)置
基于對(duì)匯編語(yǔ)言課程教學(xué)重點(diǎn)的分析,筆者從歷年試卷中篩選、歸納出五種題型:(1)填空題;(2)判斷題;(3)閱讀程序題;(4)編程題;(5)實(shí)驗(yàn)題。不同的教學(xué)內(nèi)容、教學(xué)要求,可通過(guò)不同的題型來(lái)考查。比如表一中的教學(xué)重點(diǎn)1——硬件結(jié)構(gòu)、數(shù)制與編碼等基礎(chǔ)知識(shí),是為了幫助初學(xué)者更好地理解指令的功能及執(zhí)行過(guò)程,只需達(dá)到基本的了解,更深入的知識(shí)會(huì)在后續(xù)課“微機(jī)原理與接口電路”、“計(jì)算機(jī)體系結(jié)構(gòu)”中展開(kāi)。因而與之對(duì)應(yīng)的題型采用了填空題。再如,表一中的教學(xué)重點(diǎn)2——正確使用指令、偽指令,是讀、寫(xiě)匯編語(yǔ)言程序的重要基礎(chǔ)。采用判斷題,列舉使用指令時(shí)易混淆、易犯的錯(cuò)誤,讓學(xué)生判斷可以達(dá)到考查的目的。表一中的教學(xué)重點(diǎn)3——匯編語(yǔ)言程序,采用閱讀題和編程題兩種題型考查。凡是學(xué)過(guò)匯編語(yǔ)言者都能深切體會(huì)到匯編語(yǔ)言程序之復(fù)雜。譬如“在屏幕上顯示一個(gè)十進(jìn)制成績(jī)分?jǐn)?shù)”這樣一個(gè)看似簡(jiǎn)單的問(wèn)題,需要寫(xiě)一般復(fù)雜的程序才能實(shí)現(xiàn)。如果將問(wèn)題改為“在屏幕上顯示寄存器AX的值”,就要改用另一段不同的程序來(lái)實(shí)現(xiàn)。因此,學(xué)習(xí)匯編語(yǔ)言編程,需要逐個(gè)問(wèn)題、逐個(gè)類(lèi)型去學(xué)習(xí),可謂紛繁、龐雜。學(xué)生一時(shí)很難記住這么多類(lèi)型各異的編程細(xì)節(jié),亦很容易混淆。即使是教師或?qū)I(yè)的程序員也不容易記清楚。我有一個(gè)朋友專(zhuān)事匯編語(yǔ)言的編程開(kāi)發(fā),很有些成績(jī)。但是他也坦承,他自己寫(xiě)的程序放下一周后,再拿來(lái)看,自己一下子也看不懂了。由此可見(jiàn),在閉卷筆試中對(duì)學(xué)生編程的要求要恰當(dāng)。編程題的問(wèn)題要典型,要體現(xiàn)基本的程序設(shè)計(jì)方法。對(duì)于較復(fù)雜的程序,可以通過(guò)閱讀程序結(jié)合完型填空題來(lái)考查。讓學(xué)生根據(jù)程序的功能,選擇適當(dāng)?shù)倪x項(xiàng)填入程序的空白處,突出了對(duì)關(guān)鍵知識(shí)點(diǎn)和閱讀程序能力的考查。筆者對(duì)本學(xué)期高職專(zhuān)一、二、三班114名同學(xué)的匯編語(yǔ)言課終考試成績(jī)進(jìn)行統(tǒng)計(jì)分析,結(jié)果表明閱讀程序題具有很好的區(qū)分度,它和編程題、總成績(jī)之間的相關(guān)性密切[3]。
實(shí)驗(yàn)題型是筆者在本學(xué)期課終考試所做的一個(gè)嘗試。以往實(shí)驗(yàn)考核筆者多次采用上機(jī)實(shí)作的方法。學(xué)生抽題后,上機(jī)編程運(yùn)行,并將結(jié)果存于輸出文件中。教師事后根據(jù)輸出文件的結(jié)果正確與否打分。這種考核方法有兩個(gè)問(wèn)題,一是當(dāng)學(xué)生人數(shù)較多時(shí),教師要檢查、監(jiān)控學(xué)生上機(jī)操作過(guò)程很困難,“忙不過(guò)來(lái)”。其次是僅憑結(jié)果文件判定學(xué)生的上機(jī)能力,并不完全可靠。如有的學(xué)生可能因?yàn)槟硞€(gè)指令細(xì)節(jié)記不清,或一時(shí)糊涂,給出了錯(cuò)誤的結(jié)果,甚至“卡殼”未做出結(jié)果。其實(shí),這個(gè)學(xué)生平時(shí)實(shí)驗(yàn)做得還可以。因此可以根據(jù)學(xué)生平時(shí)的實(shí)驗(yàn)表現(xiàn)、出勤率記一個(gè)實(shí)驗(yàn)分,同時(shí)在課終考試筆試試卷中增設(shè)實(shí)驗(yàn)題。將兩者結(jié)合起來(lái)可以避免片面性、偶然性,使考查更全面、也更能突出重點(diǎn)。實(shí)驗(yàn)題包含的內(nèi)容為:(1)根據(jù)匯編時(shí)的報(bào)錯(cuò)信息,更正程序中的語(yǔ)法錯(cuò)誤;(2)正確預(yù)測(cè)程序運(yùn)行后,寄存器、存儲(chǔ)器的值和實(shí)際運(yùn)行結(jié)果比較,以發(fā)現(xiàn)程序中的語(yǔ)義錯(cuò)誤、邏輯錯(cuò)誤;(3)DEBUG命令的使用、調(diào)試中遇到的問(wèn)題及解決方法。
3.2差異化教學(xué)在試題、試卷中的體現(xiàn)
高校擴(kuò)招后,學(xué)生的差異性尤顯突出。傳統(tǒng)的“一刀切”的教學(xué)模式,已不能適應(yīng)新的教學(xué)形勢(shì)的要求。針對(duì)不同程度、不同興趣的學(xué)生,實(shí)施差異化教學(xué)或分層次教學(xué)已被提上教學(xué)研究日程,這在考試命題中也應(yīng)予以體現(xiàn),即奉行后現(xiàn)代課程論的多元評(píng)價(jià)觀[4]——制定基于學(xué)生差異性的多元評(píng)價(jià)標(biāo)準(zhǔn)。如筆者在本學(xué)期教學(xué)中就劃分了基本要求、較高要求和高要求三個(gè)層次,并落實(shí)到平時(shí)學(xué)生作業(yè)、實(shí)驗(yàn)和課終考試中。本學(xué)期課終考試中的編程題第1題、第2題第1小題、第2題第2小題分別為基本要求題(10分)、較高要求題(7分)和高要求題(7分)。整個(gè)試卷基本要求題量為60%~70%,較高要求題量為20%,更高要求題量占10%左右。
3.3關(guān)于多選題題型的討論
在考試中是否采用多選題及在多大程度、多大比例上采用多選題,是教師在命題、試題庫(kù)組建時(shí)經(jīng)常討論的一個(gè)問(wèn)題。多選題在平時(shí)教學(xué)、練習(xí)中運(yùn)用恰當(dāng),會(huì)收到很好的效果。而在考試中的運(yùn)用,要根據(jù)不同學(xué)科的特點(diǎn)及不同層次教學(xué)要求仔細(xì)斟酌。匯編語(yǔ)言的教學(xué)重點(diǎn)應(yīng)圍繞讀、寫(xiě)程序展開(kāi),不宜大量采用多選題,否則易誤導(dǎo)學(xué)生過(guò)于注重語(yǔ)法次要細(xì)節(jié)和知識(shí)末節(jié),不利于學(xué)生從整體上把握程序,不利于學(xué)生讀、寫(xiě)程序和實(shí)踐能力的培養(yǎng)。由此還會(huì)產(chǎn)生另一個(gè)問(wèn)題,就是學(xué)生為了備考、埋頭做多選題,而造成死記硬背的后果。上世紀(jì)80年代中期,全國(guó)多所部屬醫(yī)學(xué)院校曾組織過(guò)幾輪以多選題為主要題型的統(tǒng)考[5]。為了在統(tǒng)考中達(dá)標(biāo),取得較好名次,學(xué)生放棄了教學(xué)實(shí)習(xí)和非統(tǒng)考科目學(xué)習(xí),部分教師也將主要時(shí)間集力放在“深入”教室輔導(dǎo)學(xué)生做題上,師生共同陷入題海大戰(zhàn)之中不能自拔。據(jù)醫(yī)學(xué)院校的一位老師介紹,考前演練多選題競(jìng)達(dá)數(shù)千道之多。其結(jié)果嚴(yán)重沖擊了正常的教學(xué)秩序,隨后被叫停。前車(chē)之轍,后車(chē)之鑒。醫(yī)生不能靠做多選題培養(yǎng),計(jì)算機(jī)人才也不例外?,F(xiàn)在有些學(xué)校提出將課終考試與等級(jí)考試、自學(xué)考試接軌。其實(shí)像等級(jí)考試、自學(xué)考試這種人多面廣的考試,大量采用多選題是為了便于機(jī)器閱卷,是“不得已而為之”。如果盲目照搬就會(huì)失去辦學(xué)特色,甚至脫離本校學(xué)生實(shí)際,造成不良后果。
4題庫(kù)組建研究
4.1題庫(kù)組建的必要和途徑
題庫(kù)組建是精品課程建設(shè)的重要環(huán)節(jié),也是提高命題工作效率、減輕教師負(fù)擔(dān)的現(xiàn)實(shí)需求?,F(xiàn)在每到期末,每門(mén)課的任課教師都要出A、B、C三套考卷,一套用于考試,另一套用于補(bǔ)考,還有一套用于畢業(yè)前總補(bǔ)考。假如教兩門(mén)課就要出6套考卷,這要耗費(fèi)多少時(shí)間、精力!每個(gè)老師都有深切體會(huì)。組建題庫(kù)勢(shì)在必行,問(wèn)題在于如何才能組建起科學(xué)、實(shí)用的題庫(kù)。那種靠上網(wǎng)下載、東拼西湊,短時(shí)間就新鮮出爐的題庫(kù),只能是倒人胃口的“雜燴”。因?yàn)槟銢](méi)有具體分析自己的教學(xué)對(duì)象、教學(xué)層次,只知照抄重點(diǎn)大學(xué)的習(xí)題,甚至是“獵奇”,搞一些偏題、怪題、難題,考研試題,也不分析學(xué)生情況。拿這樣一些題目考學(xué)生極不合理。題庫(kù)應(yīng)當(dāng)源自教師長(zhǎng)期的教學(xué)積累,從教師講過(guò)的例題、學(xué)生做過(guò)的作業(yè)以及歷年考試的題目中篩選,當(dāng)然也要適當(dāng)參考其他院校、教材中的習(xí)題。高校擴(kuò)招后,一般院校的教學(xué)中心要適當(dāng)放低,題庫(kù)的中心也要相應(yīng)放低,也就是要更加重視基礎(chǔ)。好的試題應(yīng)當(dāng)是“似曾相識(shí),未曾相識(shí)”。比如教師講過(guò)一個(gè)“字操作數(shù)用循環(huán)方法累加求和”的例題,考試時(shí)改為“字節(jié)操作數(shù)累加求和”,這就要對(duì)程序中的指令、偽指令作一些相應(yīng)的改動(dòng),從中可以考查學(xué)生對(duì)程序的理解和運(yùn)用能力。
4.2試卷庫(kù)與試題庫(kù)
題庫(kù)有兩種類(lèi)型,一種是試卷庫(kù),另一種是試題庫(kù)。對(duì)于班次少、應(yīng)考人數(shù)不多,教材相對(duì)穩(wěn)定的一部分專(zhuān)業(yè)課,組建試卷庫(kù)較為方便、實(shí)用、經(jīng)濟(jì)。如果一門(mén)學(xué)科能篩選出6~8套較成熟的考卷,已經(jīng)可以滿足該專(zhuān)業(yè)課常規(guī)考試的要求。但是對(duì)于應(yīng)考人數(shù)多,涉及面廣的公共基礎(chǔ)課和專(zhuān)業(yè)基礎(chǔ)課,固定的試卷就不一定適合要求。同一門(mén)課對(duì)不同專(zhuān)業(yè)、不同層次、不同教學(xué)對(duì)象要達(dá)到的教學(xué)目標(biāo)是很不相同的,考試題要適合各自的需求,就得從試題庫(kù)中按要求隨機(jī)選題。試題庫(kù)中就得有一定數(shù)量的習(xí)題積累,并按照題型、知識(shí)點(diǎn)(章、節(jié))、類(lèi)別(基本題、較高要求題、更高要求題)科學(xué)地組織和排列。假設(shè)一套試卷的題量按大、小題30題左右計(jì)算,試題庫(kù)中和6~8套試卷庫(kù)的題量相當(dāng)?shù)念}量,至少應(yīng)當(dāng)在200~300道題以上,然后可以逐步積累擴(kuò)充,不斷豐富題庫(kù)的題量。
5考試管理系統(tǒng)的設(shè)計(jì)
考試管理系統(tǒng)的使用有什么好處呢?(1)將提高試卷的信度、效度和區(qū)分度,促進(jìn)考試的標(biāo)準(zhǔn)化、科學(xué)化,從而避免不同教師不同教材命題發(fā)生的考試漲落現(xiàn)象;(2)將提高考務(wù)管理工作的效率和教學(xué)管理工作的水平。隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的普及,考試管理系統(tǒng)的開(kāi)發(fā)與應(yīng)用已成為計(jì)算機(jī)教育應(yīng)用的熱點(diǎn)。然而能夠堅(jiān)持使用下來(lái)的系統(tǒng)并不多見(jiàn)。我院曾引進(jìn)某名牌大學(xué)的通用考試系統(tǒng)軟件,但一直束之高閣。究其原因就在于對(duì)“通用考試系統(tǒng)”而言,“通用”只是一廂情愿。系統(tǒng)論的原理告訴我們,不可能存在“全能”的系統(tǒng)[6]。試想,英語(yǔ)、數(shù)學(xué)、程序設(shè)計(jì)語(yǔ)言這些不同學(xué)科,其考試形式、試題題型差別那么大,試題庫(kù)組織、命題策略各不相同,怎么可能設(shè)計(jì)出一個(gè)包羅萬(wàn)象的考試系統(tǒng),將它們?nèi)磕依ㄟM(jìn)去呢?所以考試系統(tǒng)要逐個(gè)(類(lèi))學(xué)校、逐個(gè)(類(lèi))學(xué)科分別去設(shè)計(jì),這是一項(xiàng)很扎實(shí)而又長(zhǎng)期的建設(shè)工作,不可能一蹴而就。
5.1考試系統(tǒng)的架構(gòu)
考試系統(tǒng)有三種架構(gòu):(1)基于任課教師和教務(wù)部門(mén)自用的單機(jī)架構(gòu)。適合傳統(tǒng)的分考場(chǎng)筆試考試,試卷生成后可以直接打印印刷,也可以做為FTP文件遠(yuǎn)程傳輸,再分考點(diǎn)打印印刷。(2)基于試驗(yàn)室機(jī)考的C/S架構(gòu)??荚囋趯?zhuān)門(mén)的機(jī)房進(jìn)行,一人一機(jī),一場(chǎng)多卷。服務(wù)器安裝試題庫(kù)和服務(wù)器程序,終端安裝客戶端程序。(3)基于互聯(lián)網(wǎng)在線考試的B/S架構(gòu)。B/S架構(gòu)考試系統(tǒng)是基于服務(wù)的架構(gòu)。學(xué)習(xí)者學(xué)完了選修的課程、開(kāi)放的課程,可以隨時(shí)隨地在任何有瀏覽器的終端上申請(qǐng)考試,通過(guò)后即獲得相應(yīng)學(xué)分。隨著學(xué)分制的實(shí)行,選修課的擴(kuò)大,開(kāi)放課程和遠(yuǎn)程教育的發(fā)展,B/S架構(gòu)的考試系統(tǒng)有廣闊的發(fā)展前景。
5.2命題策略
考試系統(tǒng)是一個(gè)包括多個(gè)子系統(tǒng)的復(fù)雜系統(tǒng),其核心部分是試卷生成子系統(tǒng)。試卷如何生成才能符合規(guī)定的要求,這就是命題策略所要研究和達(dá)成的目標(biāo)。如果直接從試題庫(kù)中隨機(jī)命題,會(huì)面臨一個(gè)很大的問(wèn)題,即試題的章節(jié)(知識(shí)點(diǎn))覆蓋率很難達(dá)到規(guī)定的比例。完全由任課教師在機(jī)上手工選題,既費(fèi)時(shí)費(fèi)力,也容易產(chǎn)生主觀性和片面性。解決以上問(wèn)題的方法是:(1)命題時(shí)首先建立雙向細(xì)目表和標(biāo)準(zhǔn)試卷模板。雙向細(xì)目表的縱向?yàn)轭}型和知識(shí)點(diǎn)(章節(jié))的二級(jí)分布,橫向是試題類(lèi)別的分布。在雙向細(xì)目表中確定各題型、各知識(shí)點(diǎn)、各類(lèi)別題目數(shù)后,自動(dòng)統(tǒng)計(jì)出它們各自所占的比例,調(diào)整各欄題目數(shù)符合規(guī)定要求后,即形成標(biāo)準(zhǔn)試卷模板,可以將它保存于模板文件中。本次考試和今后考試都可以依據(jù)標(biāo)準(zhǔn)試卷模板中規(guī)定的各題型、各知識(shí)點(diǎn)、各類(lèi)別的題目數(shù),在題庫(kù)中隨機(jī)選題。(2)如果考試要求有變化,可以重建雙向細(xì)目表,形成新的隨機(jī)試卷模板,并保存于另一個(gè)模板文件中。如此,便可以根據(jù)不同的試卷模板,生成不同考試要求的多種試卷。
5.3用Access/SQL Server數(shù)據(jù)庫(kù)構(gòu)造試題庫(kù)
用Access/SQL Server構(gòu)造的試題庫(kù)主要包括填空題表、判斷題表、閱讀程序題表、編程題表、實(shí)驗(yàn)題表五個(gè)主表和題型表、知識(shí)點(diǎn)表兩個(gè)副表。各主表均包括試題編號(hào)、孿生編號(hào)、知識(shí)點(diǎn)、類(lèi)別、加/解鎖、題干、答案等字段。主表中的孿生編號(hào)字段起什么作用呢?根據(jù)4色原理,4種顏色足以使地圖中每個(gè)國(guó)家與鄰近國(guó)家的顏色互不相同。在試題庫(kù)中孿生編號(hào)相同的試題總有4道題。于是,根據(jù)孿生編號(hào)選出的試題同時(shí)就有4道孿生題,可以形成A、B、C、D四套形式酷似而內(nèi)容、答案不完全相同的孿生試卷。如果將它們同時(shí)打印、印刷,并按一定座號(hào)順序發(fā)給考場(chǎng)的學(xué)生(一場(chǎng)四卷),就會(huì)使每個(gè)學(xué)生和鄰近學(xué)生的考卷互不相同,于是可以有效地遏制考場(chǎng)作弊。即便有現(xiàn)代通信工具,也無(wú)法傳送答案。因?yàn)槊總€(gè)考生(或場(chǎng)外人員)都不可能知道其他同學(xué)使用的是孿生試卷中的那一套試卷。
5.4在線考試系統(tǒng)自動(dòng)判分問(wèn)題
在匯編語(yǔ)言試題庫(kù)的五個(gè)題型中,判斷題和閱讀程序、完型填空題屬客觀題,可以自動(dòng)判分。填空題和實(shí)驗(yàn)題可以認(rèn)為是準(zhǔn)客觀題,經(jīng)過(guò)簡(jiǎn)單的字符串匹配和邏輯“與”、“或”的判斷,也能實(shí)現(xiàn)自動(dòng)判分。至于編程題,由于解法不是唯一的,實(shí)現(xiàn)自動(dòng)判分較困難,需人工判分,因此屬主觀題。但是在線考試提出即時(shí)判分的要求,這就有必要研究編程題自動(dòng)判分的可能性。借助人工智能專(zhuān)家系統(tǒng)的構(gòu)建原理與實(shí)踐以及模糊數(shù)學(xué)中的模糊評(píng)判原理,建立一個(gè)編程題的自動(dòng)判分專(zhuān)家系統(tǒng),有可能使這個(gè)問(wèn)題的解決得到突破。
作者簡(jiǎn)介
由布西,山東教育學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,副教授,主講課程包括程序設(shè)計(jì)語(yǔ)言以及軟件工程與畢業(yè)設(shè)計(jì)。
通信地址:山東省濟(jì)南市歷山路36號(hào)山東教育學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系
郵編:250002
電話:0531-86401253(辦) 0531-87111830(宅)
E-mail:you_bx@163.com
附:06高職專(zhuān)匯編語(yǔ)言程序設(shè)計(jì)期終考試試卷(A卷) 山東教育學(xué)院2007.07.10
一、填空題(24分,每小題4分)
1、8086/8088包括兩個(gè)功能單元________和________,前者的功能是________,后者的功能是________,它們處于________工作狀態(tài)。
2、8086/8088的數(shù)據(jù)寄存器AX,BX,CX,DX中,通常作為累加器使用的是________,作為擴(kuò)展累加器使用的是________,作為地址寄存器使用的是________,作為計(jì)數(shù)器使用的是________。
3、8086/8088有________條地址線,尋址能力達(dá)________MB。假如一存儲(chǔ)器單元的邏輯地址為17DE:0012,該存儲(chǔ)單元的段基址為_(kāi)_______,偏移量為_(kāi)_______,實(shí)際物理地址為_(kāi)_______。
4、假如堆棧指針(SP)=0012H,數(shù)據(jù)寄存器(AX)=0E3AH,(BX)=4B7AH,當(dāng)連續(xù)執(zhí)行三條指令PUSH AX,push BX,POP AX后,(SP)=________,(AX)=________,(BX)=________。
5、一條完整的指令語(yǔ)句包括________,________,________,________四部分,其中________ 和 ________是可選的。
6、子程序調(diào)用包括________,________,________,________,________五個(gè)過(guò)程。
二、判斷題:判定以下指令的正誤(20分,每小題2分)
1、mov ds,data
2、mov al,500
3、mov al,byte ptr[bx]
4、xchg [si],[di]
5、idiv 3
6、sar ax,5
7、xor al,ofh
8、push bl
9、stc
10、out 20h,al
三、閱讀程序,將合適的選項(xiàng)填入程序的________處。(16分,每小題8分)
1、 自FIRST單元開(kāi)始存放的是一個(gè)4字節(jié)的16進(jìn)制數(shù)(低字節(jié)在前),將這個(gè)數(shù)左移2位后存放到自SECOND開(kāi)始的單元。
data segment
first db 90h,5fh,6eh,69h
second db 5 dup(0)
data ends
stack segment para stack 'stack'
stapn db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,es:data,ss:stack
start:
mov ax,data
mov ds,ax
mov es,ax
mov si,offset first
mov di,offset second
________
mov cx,2
loop1:
________
push di
push cx
mov cx,4
loop2:
________
________ al,1
________
loop loop2
________ first[di],1
________
________
mov si,di
loop loop1
int 3h
code ends
end start
選項(xiàng):CLC,CLD,STC,STD,LODSB,LODSW, STOSB, STOSW,SAL,SHL,ROL,RCL,POP CX,POP DI
2、 用戶在提示信息 Input your password please: 后輸入6個(gè)字符的密碼,用戶每按一個(gè)鍵則屏幕上顯示一個(gè) * 。密碼字符雖不顯示在屏幕上,但要送入PASSW變量中。
deseg segment
passw db ?,?,?,?
disp db 'Input your password please:',0ah,0dh,'$'
mm db '*$'
deseg ends
sseg segment para stack 'stack'
stapn db 80h dup(0)
sseg ends
cseg segment
assume cs:cseg,ds:dseg,ss:sseg
start:
mov ax,dseg
mov ds,ax
mov dx,offset disp
mov ah,________
int 21h
mov si,offset passw
mov cx,4
again:
mov ah,________
int 21h
mov [si],al
inc si
mov dx,offset mm
mov ah,________
int 21h
loop again
mov ah,________
int 21h
cseg ends
end start
選項(xiàng):01H,02H,06H,08H,09H,0aH,4cH
四、實(shí)驗(yàn)題(16分,每小題8分)
1、 試根據(jù)匯編時(shí)的報(bào)錯(cuò)信息,改正源程序中的錯(cuò)誤。
exam1.asm( 9) :error : Symble not defined:date
exam1.asm(14):error: Expected:instruction or directive
data segment
n dw 2007
q DW ?
r DW ?
data ends
code segment
assume cs:code,ds:data
start:
mov ax,date
mov ds,ax
mov ax,n
mov bx,500
xor dx,dx
diu bx
mov q,ax
mov r,dx
mov ah,4ch
int 21h
code ends
end start
2、試給出用DEBUG調(diào)試程序出現(xiàn)以下問(wèn)題的解決方法或正確步驟:
(1)DEBUG不能運(yùn)行,屏幕報(bào)出 Incorrect DOS Vesion 的信息。
(2) 用t命令調(diào)試0B5B:000A INT 21H時(shí),屏幕出現(xiàn)NOP的提示信息。
STRING DB‘COMPUTER’, ‘$’
┇
MOV BX,OFFSET STRING
again:MOV DL,[BX]
0B5B:0008 MOV AH,02H
0B5B:000A INT 21H
0B5B:000C INC BX
0B5B:000E CMP [BX],24h
0B5B:0010 JNE again
┇
五、編程題(24分,第1小題10分,第2小題14分)
1、存器BX作地址指針,自BX所指的內(nèi)存單元開(kāi)始連續(xù)存放著3個(gè)無(wú)符號(hào)數(shù):1ah,45h,23h(字節(jié)),編程求它們的和,并將結(jié)果存放在這3個(gè)數(shù)之后。要求用循環(huán)方法實(shí)現(xiàn)。
2、從BCDBUF開(kāi)始的連續(xù)單元,存放著用BCD碼表示的15個(gè)學(xué)生的某學(xué)科成績(jī)(45h,61h,70h,86h, 93h,75h,98h,69h,88h,81h,56h,73h,86h,90h,64h)。要求:
(1) 編寫(xiě)求學(xué)生成績(jī)最高分的子程序,最高分要放在MAX單元中。
(2) 編寫(xiě)在屏幕上顯示這個(gè)最高分的子程序。